@theia/preferences 1.67.0-next.56 → 1.67.0-next.59

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 (205) hide show
  1. package/lib/browser/folder-preference-provider.d.ts +23 -0
  2. package/lib/browser/folder-preference-provider.d.ts.map +1 -0
  3. package/lib/browser/folder-preference-provider.js +57 -0
  4. package/lib/browser/folder-preference-provider.js.map +1 -0
  5. package/lib/browser/folders-preferences-provider.d.ts +27 -0
  6. package/lib/browser/folders-preferences-provider.d.ts.map +1 -0
  7. package/lib/browser/folders-preferences-provider.js +237 -0
  8. package/lib/browser/folders-preferences-provider.js.map +1 -0
  9. package/lib/browser/frontend-preference-storage.d.ts +20 -0
  10. package/lib/browser/frontend-preference-storage.d.ts.map +1 -0
  11. package/lib/browser/frontend-preference-storage.js +63 -0
  12. package/lib/browser/frontend-preference-storage.js.map +1 -0
  13. package/lib/browser/index.d.ts +5 -0
  14. package/lib/browser/index.d.ts.map +1 -0
  15. package/lib/browser/index.js +23 -0
  16. package/lib/browser/index.js.map +1 -0
  17. package/lib/browser/monaco-jsonc-editor.d.ts +10 -0
  18. package/lib/browser/monaco-jsonc-editor.d.ts.map +1 -0
  19. package/lib/browser/monaco-jsonc-editor.js +73 -0
  20. package/lib/browser/monaco-jsonc-editor.js.map +1 -0
  21. package/lib/browser/package.spec.d.ts +1 -0
  22. package/lib/browser/package.spec.d.ts.map +1 -0
  23. package/lib/browser/package.spec.js +26 -0
  24. package/lib/browser/package.spec.js.map +1 -0
  25. package/lib/browser/preference-bindings.d.ts +4 -0
  26. package/lib/browser/preference-bindings.d.ts.map +1 -0
  27. package/lib/browser/preference-bindings.js +49 -0
  28. package/lib/browser/preference-bindings.js.map +1 -0
  29. package/lib/browser/preference-frontend-contribution.d.ts +9 -0
  30. package/lib/browser/preference-frontend-contribution.d.ts.map +1 -0
  31. package/lib/browser/preference-frontend-contribution.js +45 -0
  32. package/lib/browser/preference-frontend-contribution.js.map +1 -0
  33. package/lib/browser/preference-frontend-module.d.ts +7 -0
  34. package/lib/browser/preference-frontend-module.d.ts.map +1 -0
  35. package/lib/browser/preference-frontend-module.js +67 -0
  36. package/lib/browser/preference-frontend-module.js.map +1 -0
  37. package/lib/browser/preference-open-handler.d.ts +10 -0
  38. package/lib/browser/preference-open-handler.d.ts.map +1 -0
  39. package/lib/browser/preference-open-handler.js +57 -0
  40. package/lib/browser/preference-open-handler.js.map +1 -0
  41. package/lib/browser/preference-transaction-manager.d.ts +98 -0
  42. package/lib/browser/preference-transaction-manager.d.ts.map +1 -0
  43. package/lib/browser/preference-transaction-manager.js +279 -0
  44. package/lib/browser/preference-transaction-manager.js.map +1 -0
  45. package/lib/browser/preference-tree-model.d.ts +60 -0
  46. package/lib/browser/preference-tree-model.d.ts.map +1 -0
  47. package/lib/browser/preference-tree-model.js +247 -0
  48. package/lib/browser/preference-tree-model.js.map +1 -0
  49. package/lib/browser/preferences-contribution.d.ts +35 -0
  50. package/lib/browser/preferences-contribution.d.ts.map +1 -0
  51. package/lib/browser/preferences-contribution.js +263 -0
  52. package/lib/browser/preferences-contribution.js.map +1 -0
  53. package/lib/browser/preferences-json-schema-contribution.d.ts +17 -0
  54. package/lib/browser/preferences-json-schema-contribution.d.ts.map +1 -0
  55. package/lib/browser/preferences-json-schema-contribution.js +84 -0
  56. package/lib/browser/preferences-json-schema-contribution.js.map +1 -0
  57. package/lib/browser/preferences-monaco-contribution.d.ts +2 -0
  58. package/lib/browser/preferences-monaco-contribution.d.ts.map +1 -0
  59. package/lib/browser/preferences-monaco-contribution.js +28 -0
  60. package/lib/browser/preferences-monaco-contribution.js.map +1 -0
  61. package/lib/browser/util/preference-layout.d.ts +23 -0
  62. package/lib/browser/util/preference-layout.d.ts.map +1 -0
  63. package/lib/browser/util/preference-layout.js +441 -0
  64. package/lib/browser/util/preference-layout.js.map +1 -0
  65. package/lib/browser/util/preference-scope-command-manager.d.ts +18 -0
  66. package/lib/browser/util/preference-scope-command-manager.d.ts.map +1 -0
  67. package/lib/browser/util/preference-scope-command-manager.js +80 -0
  68. package/lib/browser/util/preference-scope-command-manager.js.map +1 -0
  69. package/lib/browser/util/preference-tree-generator.d.ts +48 -0
  70. package/lib/browser/util/preference-tree-generator.d.ts.map +1 -0
  71. package/lib/browser/util/preference-tree-generator.js +277 -0
  72. package/lib/browser/util/preference-tree-generator.js.map +1 -0
  73. package/lib/browser/util/preference-tree-label-provider.d.ts +12 -0
  74. package/lib/browser/util/preference-tree-label-provider.d.ts.map +1 -0
  75. package/lib/browser/util/preference-tree-label-provider.js +74 -0
  76. package/lib/browser/util/preference-tree-label-provider.js.map +1 -0
  77. package/lib/browser/util/preference-tree-label-provider.spec.d.ts +2 -0
  78. package/lib/browser/util/preference-tree-label-provider.spec.d.ts.map +1 -0
  79. package/lib/browser/util/preference-tree-label-provider.spec.js +90 -0
  80. package/lib/browser/util/preference-tree-label-provider.spec.js.map +1 -0
  81. package/lib/browser/util/preference-types.d.ts +69 -0
  82. package/lib/browser/util/preference-types.d.ts.map +1 -0
  83. package/lib/browser/util/preference-types.js +133 -0
  84. package/lib/browser/util/preference-types.js.map +1 -0
  85. package/lib/browser/views/components/preference-array-input.d.ts +29 -0
  86. package/lib/browser/views/components/preference-array-input.d.ts.map +1 -0
  87. package/lib/browser/views/components/preference-array-input.js +176 -0
  88. package/lib/browser/views/components/preference-array-input.js.map +1 -0
  89. package/lib/browser/views/components/preference-boolean-input.d.ts +18 -0
  90. package/lib/browser/views/components/preference-boolean-input.d.ts.map +1 -0
  91. package/lib/browser/views/components/preference-boolean-input.js +75 -0
  92. package/lib/browser/views/components/preference-boolean-input.js.map +1 -0
  93. package/lib/browser/views/components/preference-file-input.d.ts +30 -0
  94. package/lib/browser/views/components/preference-file-input.d.ts.map +1 -0
  95. package/lib/browser/views/components/preference-file-input.js +103 -0
  96. package/lib/browser/views/components/preference-file-input.js.map +1 -0
  97. package/lib/browser/views/components/preference-json-input.d.ts +20 -0
  98. package/lib/browser/views/components/preference-json-input.d.ts.map +1 -0
  99. package/lib/browser/views/components/preference-json-input.js +86 -0
  100. package/lib/browser/views/components/preference-json-input.js.map +1 -0
  101. package/lib/browser/views/components/preference-markdown-renderer.d.ts +15 -0
  102. package/lib/browser/views/components/preference-markdown-renderer.d.ts.map +1 -0
  103. package/lib/browser/views/components/preference-markdown-renderer.js +86 -0
  104. package/lib/browser/views/components/preference-markdown-renderer.js.map +1 -0
  105. package/lib/browser/views/components/preference-node-renderer-creator.d.ts +49 -0
  106. package/lib/browser/views/components/preference-node-renderer-creator.d.ts.map +1 -0
  107. package/lib/browser/views/components/preference-node-renderer-creator.js +122 -0
  108. package/lib/browser/views/components/preference-node-renderer-creator.js.map +1 -0
  109. package/lib/browser/views/components/preference-node-renderer.d.ts +118 -0
  110. package/lib/browser/views/components/preference-node-renderer.d.ts.map +1 -0
  111. package/lib/browser/views/components/preference-node-renderer.js +442 -0
  112. package/lib/browser/views/components/preference-node-renderer.js.map +1 -0
  113. package/lib/browser/views/components/preference-null-input.d.ts +16 -0
  114. package/lib/browser/views/components/preference-null-input.d.ts.map +1 -0
  115. package/lib/browser/views/components/preference-null-input.js +59 -0
  116. package/lib/browser/views/components/preference-null-input.js.map +1 -0
  117. package/lib/browser/views/components/preference-number-input.d.ts +35 -0
  118. package/lib/browser/views/components/preference-number-input.d.ts.map +1 -0
  119. package/lib/browser/views/components/preference-number-input.js +174 -0
  120. package/lib/browser/views/components/preference-number-input.js.map +1 -0
  121. package/lib/browser/views/components/preference-select-input.d.ts +29 -0
  122. package/lib/browser/views/components/preference-select-input.d.ts.map +1 -0
  123. package/lib/browser/views/components/preference-select-input.js +131 -0
  124. package/lib/browser/views/components/preference-select-input.js.map +1 -0
  125. package/lib/browser/views/components/preference-string-input.d.ts +18 -0
  126. package/lib/browser/views/components/preference-string-input.d.ts.map +1 -0
  127. package/lib/browser/views/components/preference-string-input.js +85 -0
  128. package/lib/browser/views/components/preference-string-input.js.map +1 -0
  129. package/lib/browser/views/preference-editor-widget.d.ts +75 -0
  130. package/lib/browser/views/preference-editor-widget.d.ts.map +1 -0
  131. package/lib/browser/views/preference-editor-widget.js +391 -0
  132. package/lib/browser/views/preference-editor-widget.js.map +1 -0
  133. package/lib/browser/views/preference-scope-tabbar-widget.d.ts +55 -0
  134. package/lib/browser/views/preference-scope-tabbar-widget.d.ts.map +1 -0
  135. package/lib/browser/views/preference-scope-tabbar-widget.js +337 -0
  136. package/lib/browser/views/preference-scope-tabbar-widget.js.map +1 -0
  137. package/lib/browser/views/preference-searchbar-widget.d.ts +54 -0
  138. package/lib/browser/views/preference-searchbar-widget.d.ts.map +1 -0
  139. package/lib/browser/views/preference-searchbar-widget.js +163 -0
  140. package/lib/browser/views/preference-searchbar-widget.js.map +1 -0
  141. package/lib/browser/views/preference-tree-widget.d.ts +20 -0
  142. package/lib/browser/views/preference-tree-widget.d.ts.map +1 -0
  143. package/lib/browser/views/preference-tree-widget.js +106 -0
  144. package/lib/browser/views/preference-tree-widget.js.map +1 -0
  145. package/lib/browser/views/preference-widget-bindings.d.ts +4 -0
  146. package/lib/browser/views/preference-widget-bindings.d.ts.map +1 -0
  147. package/lib/browser/views/preference-widget-bindings.js +91 -0
  148. package/lib/browser/views/preference-widget-bindings.js.map +1 -0
  149. package/lib/browser/views/preference-widget.d.ts +38 -0
  150. package/lib/browser/views/preference-widget.d.ts.map +1 -0
  151. package/lib/browser/views/preference-widget.js +120 -0
  152. package/lib/browser/views/preference-widget.js.map +1 -0
  153. package/lib/browser/workspace-file-preference-provider.d.ts +24 -0
  154. package/lib/browser/workspace-file-preference-provider.d.ts.map +1 -0
  155. package/lib/browser/workspace-file-preference-provider.js +103 -0
  156. package/lib/browser/workspace-file-preference-provider.js.map +1 -0
  157. package/lib/browser/workspace-preference-provider.d.ts +36 -0
  158. package/lib/browser/workspace-preference-provider.d.ts.map +1 -0
  159. package/lib/browser/workspace-preference-provider.js +147 -0
  160. package/lib/browser/workspace-preference-provider.js.map +1 -0
  161. package/lib/common/abstract-resource-preference-provider.d.ts +69 -0
  162. package/lib/common/abstract-resource-preference-provider.d.ts.map +1 -0
  163. package/lib/common/abstract-resource-preference-provider.js +207 -0
  164. package/lib/common/abstract-resource-preference-provider.js.map +1 -0
  165. package/lib/common/abstract-resource-preference-provider.spec.d.ts +2 -0
  166. package/lib/common/abstract-resource-preference-provider.spec.d.ts.map +1 -0
  167. package/lib/common/abstract-resource-preference-provider.spec.js +84 -0
  168. package/lib/common/abstract-resource-preference-provider.spec.js.map +1 -0
  169. package/lib/common/cli-preferences.d.ts +6 -0
  170. package/lib/common/cli-preferences.d.ts.map +1 -0
  171. package/lib/common/cli-preferences.js +21 -0
  172. package/lib/common/cli-preferences.js.map +1 -0
  173. package/lib/common/jsonc-editor.d.ts +10 -0
  174. package/lib/common/jsonc-editor.d.ts.map +1 -0
  175. package/lib/common/jsonc-editor.js +68 -0
  176. package/lib/common/jsonc-editor.js.map +1 -0
  177. package/lib/common/section-preference-provider.d.ts +20 -0
  178. package/lib/common/section-preference-provider.d.ts.map +1 -0
  179. package/lib/common/section-preference-provider.js +84 -0
  180. package/lib/common/section-preference-provider.js.map +1 -0
  181. package/lib/common/user-configs-preference-provider.d.ts +24 -0
  182. package/lib/common/user-configs-preference-provider.d.ts.map +1 -0
  183. package/lib/common/user-configs-preference-provider.js +134 -0
  184. package/lib/common/user-configs-preference-provider.js.map +1 -0
  185. package/lib/common/user-preference-provider.d.ts +14 -0
  186. package/lib/common/user-preference-provider.d.ts.map +1 -0
  187. package/lib/common/user-preference-provider.js +37 -0
  188. package/lib/common/user-preference-provider.js.map +1 -0
  189. package/lib/node/backend-preference-storage.d.ts +34 -0
  190. package/lib/node/backend-preference-storage.d.ts.map +1 -0
  191. package/lib/node/backend-preference-storage.js +100 -0
  192. package/lib/node/backend-preference-storage.js.map +1 -0
  193. package/lib/node/preference-backend-module.d.ts +4 -0
  194. package/lib/node/preference-backend-module.d.ts.map +1 -0
  195. package/lib/node/preference-backend-module.js +41 -0
  196. package/lib/node/preference-backend-module.js.map +1 -0
  197. package/lib/node/preference-bindings.d.ts +3 -0
  198. package/lib/node/preference-bindings.d.ts.map +1 -0
  199. package/lib/node/preference-bindings.js +33 -0
  200. package/lib/node/preference-bindings.js.map +1 -0
  201. package/lib/node/preference-cli-contribution.d.ts +11 -0
  202. package/lib/node/preference-cli-contribution.d.ts.map +1 -0
  203. package/lib/node/preference-cli-contribution.js +48 -0
  204. package/lib/node/preference-cli-contribution.js.map +1 -0
  205. package/package.json +8 -8
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2020 Ericsson 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
+ var PreferencesEditorWidget_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.PreferencesEditorWidget = void 0;
20
+ const tslib_1 = require("tslib");
21
+ /* eslint-disable @typescript-eslint/no-explicit-any */
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const throttle = require("@theia/core/shared/lodash.throttle");
24
+ const deepEqual = require("fast-deep-equal");
25
+ const browser_1 = require("@theia/core/lib/browser");
26
+ const core_1 = require("@theia/core");
27
+ const widget_1 = require("@theia/core/lib/browser/widgets/widget");
28
+ const preference_tree_model_1 = require("../preference-tree-model");
29
+ const preference_node_renderer_1 = require("./components/preference-node-renderer");
30
+ const preference_types_1 = require("../util/preference-types");
31
+ const preference_scope_tabbar_widget_1 = require("./preference-scope-tabbar-widget");
32
+ const preference_node_renderer_creator_1 = require("./components/preference-node-renderer-creator");
33
+ const preference_layout_1 = require("../util/preference-layout");
34
+ let PreferencesEditorWidget = PreferencesEditorWidget_1 = class PreferencesEditorWidget extends widget_1.BaseWidget {
35
+ constructor() {
36
+ super(...arguments);
37
+ this.scrollOptions = widget_1.DEFAULT_SCROLL_OPTIONS;
38
+ /**
39
+ * Guards against scroll events and selection events looping into each other. Set before this widget initiates a selection.
40
+ */
41
+ this.currentModelSelectionId = '';
42
+ /**
43
+ * Permits the user to expand multiple nodes without each one being collapsed on a new selection.
44
+ */
45
+ this.lastUserSelection = '';
46
+ this.isAtScrollTop = true;
47
+ this.firstVisibleChildID = '';
48
+ this.renderers = new Map();
49
+ this.preferenceDataKeys = new Map();
50
+ // The commonly used section will duplicate preference ID's, so we'll keep a separate list of them.
51
+ this.commonlyUsedRenderers = new Map();
52
+ this.onScroll = throttle(this.doOnScroll.bind(this), 50);
53
+ this.shouldUpdateModelSelection = true;
54
+ }
55
+ init() {
56
+ this.doInit();
57
+ }
58
+ async doInit() {
59
+ this.id = PreferencesEditorWidget_1.ID;
60
+ this.title.label = PreferencesEditorWidget_1.LABEL;
61
+ this.addClass('settings-main');
62
+ this.toDispose.pushAll([
63
+ this.subscribeToPreferenceProviderChanges(),
64
+ this.model.onFilterChanged(e => this.handleDisplayChange(e)),
65
+ this.model.onSelectionChanged(e => this.handleSelectionChange(e)),
66
+ ]);
67
+ this.createContainers();
68
+ await this.preferenceService.ready;
69
+ this.handleDisplayChange({ source: preference_tree_model_1.PreferenceFilterChangeSource.Schema });
70
+ this.rendererRegistry.onDidChange(() => this.handleRegistryChange());
71
+ }
72
+ createContainers() {
73
+ const innerWrapper = document.createElement('div');
74
+ innerWrapper.classList.add('settings-main-scroll-container');
75
+ this.scrollContainer = innerWrapper;
76
+ innerWrapper.addEventListener('scroll', this.onScroll, { passive: true });
77
+ this.node.appendChild(innerWrapper);
78
+ const noLeavesMessage = document.createElement('div');
79
+ noLeavesMessage.classList.add('settings-no-results-announcement');
80
+ noLeavesMessage.textContent = 'That search query has returned no results.';
81
+ this.node.appendChild(noLeavesMessage);
82
+ }
83
+ subscribeToPreferenceProviderChanges() {
84
+ const res = new core_1.DisposableCollection();
85
+ for (const scope of this.schemaProvider.validScopes) {
86
+ const provider = this.providerProvider(scope);
87
+ if (!provider) {
88
+ continue;
89
+ }
90
+ provider.onDidPreferencesChanged(e => this.handlePreferenceChanges(e), this, res);
91
+ }
92
+ return res;
93
+ }
94
+ handleDisplayChange(e) {
95
+ const { isFiltered } = this.model;
96
+ const currentFirstVisible = this.firstVisibleChildID;
97
+ const leavesAreVisible = this.areLeavesVisible();
98
+ if (e.source === preference_tree_model_1.PreferenceFilterChangeSource.Search) {
99
+ this.handleSearchChange(isFiltered, leavesAreVisible);
100
+ }
101
+ else if (e.source === preference_tree_model_1.PreferenceFilterChangeSource.Scope) {
102
+ this.handleScopeChange(isFiltered);
103
+ this.showInTree(currentFirstVisible);
104
+ }
105
+ else if (e.source === preference_tree_model_1.PreferenceFilterChangeSource.Schema) {
106
+ this.handleSchemaChange(isFiltered);
107
+ this.showInTree(currentFirstVisible);
108
+ }
109
+ else {
110
+ (0, core_1.unreachable)(e.source, 'Not all PreferenceFilterChangeSource enum variants handled.');
111
+ }
112
+ this.resetScroll(currentFirstVisible, e.source === preference_tree_model_1.PreferenceFilterChangeSource.Search);
113
+ }
114
+ handleRegistryChange() {
115
+ for (const [id, renderer, collection] of this.allRenderers()) {
116
+ renderer.dispose();
117
+ collection.delete(id);
118
+ }
119
+ this.handleDisplayChange({ source: preference_tree_model_1.PreferenceFilterChangeSource.Schema });
120
+ }
121
+ handleSchemaChange(isFiltered) {
122
+ var _a;
123
+ for (const [id, renderer, collection] of this.allRenderers()) {
124
+ const node = this.model.getNode(renderer.nodeId);
125
+ if (!node || (preference_types_1.Preference.LeafNode.is(node) && this.hasSchemaChanged(renderer, node))) {
126
+ renderer.dispose();
127
+ collection.delete(id);
128
+ }
129
+ }
130
+ if (this.model.root) {
131
+ const nodeIterator = Array.from(this.scrollContainer.children)[Symbol.iterator]();
132
+ let nextNode = nodeIterator.next().value;
133
+ for (const node of new browser_1.TopDownTreeIterator(this.model.root)) {
134
+ if (preference_types_1.Preference.TreeNode.is(node)) {
135
+ const { collection, id } = this.analyzeIDAndGetRendererGroup(node.id);
136
+ const renderer = (_a = collection.get(id)) !== null && _a !== void 0 ? _a : this.rendererFactory(node);
137
+ if (!renderer.node.parentElement) { // If it hasn't been attached yet, it hasn't been checked for the current search.
138
+ this.hideIfFailsFilters(renderer, isFiltered);
139
+ collection.set(id, renderer);
140
+ }
141
+ if (nextNode !== renderer.node) {
142
+ if (nextNode) {
143
+ renderer.insertBefore(nextNode);
144
+ }
145
+ else {
146
+ renderer.appendTo(this.scrollContainer);
147
+ }
148
+ }
149
+ else {
150
+ nextNode = nodeIterator.next().value;
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ handleScopeChange(isFiltered = this.model.isFiltered) {
157
+ var _a;
158
+ for (const [, renderer] of this.allRenderers()) {
159
+ const isHidden = this.hideIfFailsFilters(renderer, isFiltered);
160
+ if (isFiltered || !isHidden) {
161
+ (_a = renderer.handleScopeChange) === null || _a === void 0 ? void 0 : _a.call(renderer, isFiltered);
162
+ }
163
+ }
164
+ }
165
+ hasSchemaChanged(renderer, node) {
166
+ return !deepEqual(renderer.schema, node.preference.data);
167
+ }
168
+ handleSearchChange(isFiltered, leavesAreVisible) {
169
+ var _a;
170
+ if (leavesAreVisible) {
171
+ for (const [, renderer] of this.allRenderers()) {
172
+ const isHidden = this.hideIfFailsFilters(renderer, isFiltered);
173
+ if (!isHidden) {
174
+ (_a = renderer.handleSearchChange) === null || _a === void 0 ? void 0 : _a.call(renderer, isFiltered);
175
+ }
176
+ }
177
+ }
178
+ }
179
+ areLeavesVisible() {
180
+ const leavesAreVisible = this.model.totalVisibleLeaves > 0;
181
+ this.node.classList.toggle('no-results', !leavesAreVisible);
182
+ this.scrollContainer.classList.toggle('hidden', !leavesAreVisible);
183
+ return leavesAreVisible;
184
+ }
185
+ *allRenderers() {
186
+ for (const [id, renderer] of this.commonlyUsedRenderers.entries()) {
187
+ yield [id, renderer, this.commonlyUsedRenderers];
188
+ }
189
+ for (const [id, renderer] of this.renderers.entries()) {
190
+ yield [id, renderer, this.renderers];
191
+ }
192
+ }
193
+ handlePreferenceChanges(e) {
194
+ var _a, _b, _c, _d;
195
+ for (const id of Object.keys(e)) {
196
+ (_b = (_a = this.commonlyUsedRenderers.get(id)) === null || _a === void 0 ? void 0 : _a.handleValueChange) === null || _b === void 0 ? void 0 : _b.call(_a);
197
+ (_d = (_c = this.renderers.get(id)) === null || _c === void 0 ? void 0 : _c.handleValueChange) === null || _d === void 0 ? void 0 : _d.call(_c);
198
+ }
199
+ }
200
+ /**
201
+ * @returns true if the renderer is hidden, false otherwise.
202
+ */
203
+ hideIfFailsFilters(renderer, isFiltered) {
204
+ const row = this.model.currentRows.get(renderer.nodeId);
205
+ if (!row || (browser_1.CompositeTreeNode.is(row.node) && (isFiltered || row.visibleChildren === 0))) {
206
+ renderer.hide();
207
+ return true;
208
+ }
209
+ else {
210
+ renderer.show();
211
+ return false;
212
+ }
213
+ }
214
+ resetScroll(nodeIDToScrollTo, filterWasCleared = false) {
215
+ if (this.scrollBar) { // Absent on widget creation
216
+ this.doResetScroll(nodeIDToScrollTo, filterWasCleared);
217
+ }
218
+ else {
219
+ const interval = setInterval(() => {
220
+ if (this.scrollBar) {
221
+ clearInterval(interval);
222
+ this.doResetScroll(nodeIDToScrollTo, filterWasCleared);
223
+ }
224
+ }, 500);
225
+ }
226
+ }
227
+ doResetScroll(nodeIDToScrollTo, filterWasModified = false) {
228
+ requestAnimationFrame(() => {
229
+ var _a;
230
+ (_a = this.scrollBar) === null || _a === void 0 ? void 0 : _a.update();
231
+ if (filterWasModified) {
232
+ this.scrollContainer.scrollTop = 0;
233
+ }
234
+ else if (nodeIDToScrollTo) {
235
+ const { id, collection } = this.analyzeIDAndGetRendererGroup(nodeIDToScrollTo);
236
+ const renderer = collection.get(id);
237
+ if (renderer === null || renderer === void 0 ? void 0 : renderer.visible) {
238
+ this.scrollContainer.scrollTo(0, renderer.node.offsetTop);
239
+ return;
240
+ }
241
+ }
242
+ });
243
+ }
244
+ ;
245
+ doOnScroll() {
246
+ const { scrollContainer } = this;
247
+ const firstVisibleChildID = this.findFirstVisibleChildID();
248
+ this.setFirstVisibleChildID(firstVisibleChildID);
249
+ if (this.isAtScrollTop && scrollContainer.scrollTop !== 0) {
250
+ this.isAtScrollTop = false;
251
+ this.tabbar.toggleShadow(true);
252
+ }
253
+ else if (!this.isAtScrollTop && scrollContainer.scrollTop === 0) {
254
+ this.isAtScrollTop = true;
255
+ this.tabbar.toggleShadow(false);
256
+ }
257
+ }
258
+ ;
259
+ findFirstVisibleChildID() {
260
+ const { scrollTop } = this.scrollContainer;
261
+ for (const [, renderer] of this.allRenderers()) {
262
+ const { offsetTop, offsetHeight } = renderer.node;
263
+ if (Math.abs(offsetTop - scrollTop) <= offsetHeight / 2) {
264
+ return renderer.nodeId;
265
+ }
266
+ }
267
+ }
268
+ setFirstVisibleChildID(id) {
269
+ if (id && id !== this.firstVisibleChildID) {
270
+ this.firstVisibleChildID = id;
271
+ if (!this.shouldUpdateModelSelection) {
272
+ return;
273
+ }
274
+ this.showInTree(id);
275
+ }
276
+ }
277
+ showInTree(id) {
278
+ let currentNode = this.model.getNode(id);
279
+ let expansionAncestor;
280
+ let selectionAncestor;
281
+ while (currentNode && (!expansionAncestor || !selectionAncestor)) {
282
+ if (!selectionAncestor && browser_1.SelectableTreeNode.is(currentNode)) {
283
+ selectionAncestor = currentNode;
284
+ }
285
+ if (!expansionAncestor && browser_1.ExpandableTreeNode.is(currentNode)) {
286
+ expansionAncestor = currentNode;
287
+ }
288
+ currentNode = currentNode.parent;
289
+ }
290
+ if (selectionAncestor) {
291
+ this.currentModelSelectionId = selectionAncestor.id;
292
+ expansionAncestor = expansionAncestor !== null && expansionAncestor !== void 0 ? expansionAncestor : selectionAncestor;
293
+ this.model.selectIfNotSelected(selectionAncestor);
294
+ if (!this.model.isFiltered && id !== this.lastUserSelection) {
295
+ this.lastUserSelection = '';
296
+ this.model.collapseAllExcept(expansionAncestor);
297
+ }
298
+ }
299
+ }
300
+ handleSelectionChange(selectionEvent) {
301
+ const node = selectionEvent[0];
302
+ if (node && node.id !== this.currentModelSelectionId) {
303
+ this.currentModelSelectionId = node.id;
304
+ this.lastUserSelection = node.id;
305
+ if (this.model.isFiltered && browser_1.CompositeTreeNode.is(node)) {
306
+ for (const candidate of new browser_1.TopDownTreeIterator(node, { pruneSiblings: true })) {
307
+ const { id, collection } = this.analyzeIDAndGetRendererGroup(candidate.id);
308
+ const renderer = collection.get(id);
309
+ if (renderer === null || renderer === void 0 ? void 0 : renderer.visible) {
310
+ // When filtered, treat the first visible child as the selected node, since it will be the one scrolled to.
311
+ this.lastUserSelection = renderer.nodeId;
312
+ this.scrollWithoutModelUpdate(renderer.node);
313
+ return;
314
+ }
315
+ }
316
+ }
317
+ else {
318
+ const { id, collection } = this.analyzeIDAndGetRendererGroup(node.id);
319
+ const renderer = collection.get(id);
320
+ this.scrollWithoutModelUpdate(renderer === null || renderer === void 0 ? void 0 : renderer.node);
321
+ }
322
+ }
323
+ }
324
+ /** Ensures that we don't set the model's selection while attempting to scroll in reaction to a model selection change. */
325
+ scrollWithoutModelUpdate(node) {
326
+ if (!node) {
327
+ return;
328
+ }
329
+ this.shouldUpdateModelSelection = false;
330
+ this.scrollContainer.scrollTo(0, node.offsetTop);
331
+ requestAnimationFrame(() => this.shouldUpdateModelSelection = true);
332
+ }
333
+ analyzeIDAndGetRendererGroup(nodeID) {
334
+ const { id, group } = preference_types_1.Preference.TreeNode.getGroupAndIdFromNodeId(nodeID);
335
+ const collection = group === preference_layout_1.COMMONLY_USED_SECTION_PREFIX ? this.commonlyUsedRenderers : this.renderers;
336
+ return { id, group, collection };
337
+ }
338
+ getScrollContainer() {
339
+ return this.scrollContainer;
340
+ }
341
+ storeState() {
342
+ return {
343
+ firstVisibleChildID: this.firstVisibleChildID,
344
+ };
345
+ }
346
+ restoreState(oldState) {
347
+ this.firstVisibleChildID = oldState.firstVisibleChildID;
348
+ this.resetScroll(this.firstVisibleChildID);
349
+ }
350
+ };
351
+ exports.PreferencesEditorWidget = PreferencesEditorWidget;
352
+ PreferencesEditorWidget.ID = 'settings.editor';
353
+ PreferencesEditorWidget.LABEL = 'Settings Editor';
354
+ tslib_1.__decorate([
355
+ (0, inversify_1.inject)(core_1.PreferenceService),
356
+ tslib_1.__metadata("design:type", Object)
357
+ ], PreferencesEditorWidget.prototype, "preferenceService", void 0);
358
+ tslib_1.__decorate([
359
+ (0, inversify_1.inject)(preference_tree_model_1.PreferenceTreeModel),
360
+ tslib_1.__metadata("design:type", preference_tree_model_1.PreferenceTreeModel)
361
+ ], PreferencesEditorWidget.prototype, "model", void 0);
362
+ tslib_1.__decorate([
363
+ (0, inversify_1.inject)(preference_node_renderer_1.PreferenceNodeRendererFactory),
364
+ tslib_1.__metadata("design:type", Function)
365
+ ], PreferencesEditorWidget.prototype, "rendererFactory", void 0);
366
+ tslib_1.__decorate([
367
+ (0, inversify_1.inject)(preference_node_renderer_creator_1.PreferenceNodeRendererCreatorRegistry),
368
+ tslib_1.__metadata("design:type", Object)
369
+ ], PreferencesEditorWidget.prototype, "rendererRegistry", void 0);
370
+ tslib_1.__decorate([
371
+ (0, inversify_1.inject)(core_1.PreferenceSchemaService),
372
+ tslib_1.__metadata("design:type", Object)
373
+ ], PreferencesEditorWidget.prototype, "schemaProvider", void 0);
374
+ tslib_1.__decorate([
375
+ (0, inversify_1.inject)(preference_scope_tabbar_widget_1.PreferencesScopeTabBar),
376
+ tslib_1.__metadata("design:type", preference_scope_tabbar_widget_1.PreferencesScopeTabBar)
377
+ ], PreferencesEditorWidget.prototype, "tabbar", void 0);
378
+ tslib_1.__decorate([
379
+ (0, inversify_1.inject)(core_1.PreferenceProviderProvider),
380
+ tslib_1.__metadata("design:type", Function)
381
+ ], PreferencesEditorWidget.prototype, "providerProvider", void 0);
382
+ tslib_1.__decorate([
383
+ (0, inversify_1.postConstruct)(),
384
+ tslib_1.__metadata("design:type", Function),
385
+ tslib_1.__metadata("design:paramtypes", []),
386
+ tslib_1.__metadata("design:returntype", void 0)
387
+ ], PreferencesEditorWidget.prototype, "init", null);
388
+ exports.PreferencesEditorWidget = PreferencesEditorWidget = PreferencesEditorWidget_1 = tslib_1.__decorate([
389
+ (0, inversify_1.injectable)()
390
+ ], PreferencesEditorWidget);
391
+ //# sourceMappingURL=preference-editor-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-editor-widget.js","sourceRoot":"","sources":["../../../src/browser/views/preference-editor-widget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { TabBar, Widget, Title } from '@theia/core/shared/@lumino/widgets';
2
+ import { Message, ContextMenuRenderer, LabelProvider, StatefulWidget } from '@theia/core/lib/browser';
3
+ import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
4
+ import URI from '@theia/core/lib/common/uri';
5
+ import { FileStat } from '@theia/filesystem/lib/common/files';
6
+ import { PreferenceScopeCommandManager } from '../util/preference-scope-command-manager';
7
+ import { Preference } from '../util/preference-types';
8
+ import { CommandRegistry, DisposableCollection, Emitter, MenuModelRegistry, PreferenceScope } from '@theia/core/lib/common';
9
+ export interface PreferencesScopeTabBarState {
10
+ scopeDetails: Preference.SelectedScopeDetails;
11
+ }
12
+ export declare class PreferencesScopeTabBar extends TabBar<Widget> implements StatefulWidget {
13
+ static ID: string;
14
+ protected readonly workspaceService: WorkspaceService;
15
+ protected readonly preferencesMenuFactory: PreferenceScopeCommandManager;
16
+ protected readonly contextMenuRenderer: ContextMenuRenderer;
17
+ protected readonly labelProvider: LabelProvider;
18
+ protected readonly commandRegistry: CommandRegistry;
19
+ protected readonly menuModelRegistry: MenuModelRegistry;
20
+ protected readonly onScopeChangedEmitter: Emitter<Preference.SelectedScopeDetails>;
21
+ readonly onScopeChanged: import("@theia/core/lib/common").Event<Preference.SelectedScopeDetails>;
22
+ protected toDispose: DisposableCollection;
23
+ protected folderTitle: Title<Widget>;
24
+ protected currentWorkspaceRoots: FileStat[];
25
+ protected currentSelection: Preference.SelectedScopeDetails;
26
+ protected editorScrollAtTop: boolean;
27
+ get currentScope(): Preference.SelectedScopeDetails;
28
+ protected setNewScopeSelection(newSelection: Preference.SelectedScopeDetails): void;
29
+ protected init(): void;
30
+ protected toScopeDetails(title?: Title<Widget> | Preference.SelectedScopeDetails): Preference.SelectedScopeDetails | undefined;
31
+ protected toDataSet(scopeDetails: Preference.SelectedScopeDetails): Title.Dataset;
32
+ protected setupInitialDisplay(): void;
33
+ protected onUpdateRequest(msg: Message): void;
34
+ protected addTabIndexToTabs(): void;
35
+ protected addUserTab(): void;
36
+ protected addWorkspaceTab(currentWorkspace: FileStat): Title<Widget>;
37
+ protected getWorkspaceDataset(currentWorkspace: FileStat): Preference.SelectedScopeDetails;
38
+ protected addOrUpdateFolderTab(): void;
39
+ protected setFolderTitleProperties(multipleFolderRootsAreAvailable: boolean): void;
40
+ protected folderSelectionCallback: (newScope: Preference.SelectedScopeDetails) => void;
41
+ protected getFolderContextMenu(workspaceRoots?: FileStat[]): void;
42
+ handleEvent(): void;
43
+ protected openContextMenu(tabRect: DOMRect | ClientRect, folderTabNode: HTMLElement, source: 'click' | 'keypress'): void;
44
+ protected doUpdateDisplay(newRoots: FileStat[]): void;
45
+ protected updateWorkspaceTab(): void;
46
+ protected emitNewScope(): void;
47
+ setScope(scope: PreferenceScope.User | PreferenceScope.Workspace | URI): void;
48
+ protected getDetailsForScope(scope: PreferenceScope.User | PreferenceScope.Workspace): Preference.SelectedScopeDetails | undefined;
49
+ protected getDetailsForResource(resource: URI): Preference.SelectedScopeDetails | undefined;
50
+ storeState(): PreferencesScopeTabBarState;
51
+ restoreState(oldState: PreferencesScopeTabBarState): void;
52
+ toggleShadow(showShadow: boolean): void;
53
+ dispose(): void;
54
+ }
55
+ //# sourceMappingURL=preference-scope-tabbar-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-scope-tabbar-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/views/preference-scope-tabbar-widget.tsx"],"names":[],"mappings":"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"}