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

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 (206) 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
  206. package/src/browser/style/index.css +29 -28
@@ -0,0 +1,337 @@
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 PreferencesScopeTabBar_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.PreferencesScopeTabBar = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const widgets_1 = require("@theia/core/shared/@lumino/widgets");
23
+ const browser_1 = require("@theia/core/lib/browser");
24
+ const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
25
+ const uri_1 = require("@theia/core/lib/common/uri");
26
+ const preference_scope_command_manager_1 = require("../util/preference-scope-command-manager");
27
+ const preference_types_1 = require("../util/preference-types");
28
+ const common_1 = require("@theia/core/lib/common");
29
+ const nls_1 = require("@theia/core/lib/common/nls");
30
+ const USER_TAB_LABEL = nls_1.nls.localizeByDefault('User');
31
+ const USER_TAB_INDEX = common_1.PreferenceScope['User'];
32
+ const WORKSPACE_TAB_LABEL = nls_1.nls.localizeByDefault('Workspace');
33
+ const WORKSPACE_TAB_INDEX = common_1.PreferenceScope['Workspace'];
34
+ const FOLDER_TAB_LABEL = nls_1.nls.localizeByDefault('Folder');
35
+ const FOLDER_TAB_INDEX = common_1.PreferenceScope['Folder'];
36
+ const PREFERENCE_TAB_CLASSNAME = 'preferences-scope-tab';
37
+ const GENERAL_FOLDER_TAB_CLASSNAME = 'preference-folder';
38
+ const LABELED_FOLDER_TAB_CLASSNAME = 'preferences-folder-tab';
39
+ const FOLDER_DROPDOWN_CLASSNAME = 'preferences-folder-dropdown';
40
+ const FOLDER_DROPDOWN_ICON_CLASSNAME = 'preferences-folder-dropdown-icon ' + (0, browser_1.codicon)('chevron-down');
41
+ const TABBAR_UNDERLINE_CLASSNAME = 'tabbar-underline';
42
+ const SINGLE_FOLDER_TAB_CLASSNAME = `${PREFERENCE_TAB_CLASSNAME} ${GENERAL_FOLDER_TAB_CLASSNAME} ${LABELED_FOLDER_TAB_CLASSNAME}`;
43
+ const UNSELECTED_FOLDER_DROPDOWN_CLASSNAME = `${PREFERENCE_TAB_CLASSNAME} ${GENERAL_FOLDER_TAB_CLASSNAME} ${FOLDER_DROPDOWN_CLASSNAME}`;
44
+ const SELECTED_FOLDER_DROPDOWN_CLASSNAME = `${PREFERENCE_TAB_CLASSNAME} ${GENERAL_FOLDER_TAB_CLASSNAME} ${LABELED_FOLDER_TAB_CLASSNAME} ${FOLDER_DROPDOWN_CLASSNAME}`;
45
+ const SHADOW_CLASSNAME = 'with-shadow';
46
+ let PreferencesScopeTabBar = PreferencesScopeTabBar_1 = class PreferencesScopeTabBar extends widgets_1.TabBar {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.onScopeChangedEmitter = new common_1.Emitter();
50
+ this.onScopeChanged = this.onScopeChangedEmitter.event;
51
+ this.toDispose = new common_1.DisposableCollection();
52
+ this.currentWorkspaceRoots = [];
53
+ this.currentSelection = preference_types_1.Preference.DEFAULT_SCOPE;
54
+ this.editorScrollAtTop = true;
55
+ this.folderSelectionCallback = (newScope) => { this.setNewScopeSelection(newScope); };
56
+ }
57
+ get currentScope() {
58
+ return this.currentSelection;
59
+ }
60
+ setNewScopeSelection(newSelection) {
61
+ const stringifiedSelectionScope = newSelection.scope.toString();
62
+ const newIndex = this.titles.findIndex(title => title.dataset.scope === stringifiedSelectionScope);
63
+ if (newIndex !== -1) {
64
+ this.currentSelection = newSelection;
65
+ this.currentIndex = newIndex;
66
+ if (newSelection.scope === common_1.PreferenceScope.Folder) {
67
+ this.addOrUpdateFolderTab();
68
+ }
69
+ this.emitNewScope();
70
+ }
71
+ }
72
+ init() {
73
+ this.id = PreferencesScopeTabBar_1.ID;
74
+ this.setupInitialDisplay();
75
+ this.tabActivateRequested.connect((sender, args) => {
76
+ const scopeDetails = this.toScopeDetails(args.title);
77
+ if (scopeDetails) {
78
+ this.setNewScopeSelection(scopeDetails);
79
+ }
80
+ });
81
+ this.toDispose.pushAll([
82
+ this.workspaceService.onWorkspaceChanged(newRoots => this.doUpdateDisplay(newRoots)),
83
+ this.workspaceService.onWorkspaceLocationChanged(() => this.doUpdateDisplay(this.workspaceService.tryGetRoots())),
84
+ ]);
85
+ const tabUnderline = document.createElement('div');
86
+ tabUnderline.className = TABBAR_UNDERLINE_CLASSNAME;
87
+ this.node.append(tabUnderline);
88
+ }
89
+ toScopeDetails(title) {
90
+ if (title) {
91
+ const source = 'dataset' in title ? title.dataset : title;
92
+ const { scope, uri, activeScopeIsFolder } = source;
93
+ return {
94
+ scope: Number(scope),
95
+ uri: uri || undefined,
96
+ activeScopeIsFolder: activeScopeIsFolder === 'true' || activeScopeIsFolder === true,
97
+ };
98
+ }
99
+ }
100
+ toDataSet(scopeDetails) {
101
+ const { scope, uri, activeScopeIsFolder } = scopeDetails;
102
+ return {
103
+ scope: scope.toString(),
104
+ uri: uri !== null && uri !== void 0 ? uri : '',
105
+ activeScopeIsFolder: activeScopeIsFolder.toString()
106
+ };
107
+ }
108
+ setupInitialDisplay() {
109
+ this.addUserTab();
110
+ if (this.workspaceService.workspace) {
111
+ this.addWorkspaceTab(this.workspaceService.workspace);
112
+ }
113
+ this.addOrUpdateFolderTab();
114
+ }
115
+ onUpdateRequest(msg) {
116
+ super.onUpdateRequest(msg);
117
+ this.addTabIndexToTabs();
118
+ }
119
+ addTabIndexToTabs() {
120
+ this.node.querySelectorAll('li').forEach((tab, index) => {
121
+ tab.tabIndex = 0;
122
+ const handler = () => {
123
+ if (tab.className.includes(GENERAL_FOLDER_TAB_CLASSNAME) && this.currentWorkspaceRoots.length > 1) {
124
+ const tabRect = tab.getBoundingClientRect();
125
+ this.openContextMenu(tabRect, tab, 'keypress');
126
+ }
127
+ else {
128
+ const details = this.toScopeDetails(this.titles[index]);
129
+ if (details) {
130
+ this.setNewScopeSelection(details);
131
+ }
132
+ }
133
+ };
134
+ tab.onkeydown = handler;
135
+ tab.onclick = handler;
136
+ });
137
+ }
138
+ addUserTab() {
139
+ this.addTab(new widgets_1.Title({
140
+ dataset: { uri: '', scope: USER_TAB_INDEX.toString() },
141
+ label: USER_TAB_LABEL,
142
+ owner: this,
143
+ className: PREFERENCE_TAB_CLASSNAME
144
+ }));
145
+ }
146
+ addWorkspaceTab(currentWorkspace) {
147
+ const scopeDetails = this.getWorkspaceDataset(currentWorkspace);
148
+ const workspaceTabTitle = new widgets_1.Title({
149
+ dataset: this.toDataSet(scopeDetails),
150
+ label: WORKSPACE_TAB_LABEL,
151
+ owner: this,
152
+ className: PREFERENCE_TAB_CLASSNAME,
153
+ });
154
+ this.addTab(workspaceTabTitle);
155
+ return workspaceTabTitle;
156
+ }
157
+ getWorkspaceDataset(currentWorkspace) {
158
+ const { resource, isDirectory } = currentWorkspace;
159
+ const scope = WORKSPACE_TAB_INDEX;
160
+ return { uri: resource.toString(), activeScopeIsFolder: isDirectory, scope };
161
+ }
162
+ addOrUpdateFolderTab() {
163
+ if (!!this.workspaceService.workspace) {
164
+ this.currentWorkspaceRoots = this.workspaceService.tryGetRoots();
165
+ const multipleFolderRootsAreAvailable = this.currentWorkspaceRoots && this.currentWorkspaceRoots.length > 1;
166
+ const noFolderRootsAreAvailable = this.currentWorkspaceRoots.length === 0;
167
+ const shouldShowFoldersSeparately = this.workspaceService.saved;
168
+ if (!noFolderRootsAreAvailable) {
169
+ if (!this.folderTitle) {
170
+ this.folderTitle = new widgets_1.Title({
171
+ label: '',
172
+ caption: FOLDER_TAB_LABEL,
173
+ owner: this,
174
+ });
175
+ }
176
+ this.setFolderTitleProperties(multipleFolderRootsAreAvailable);
177
+ if (multipleFolderRootsAreAvailable || shouldShowFoldersSeparately) {
178
+ this.addTab(this.folderTitle);
179
+ }
180
+ }
181
+ else {
182
+ const folderTabIndex = this.titles.findIndex(title => title.caption === FOLDER_TAB_LABEL);
183
+ if (folderTabIndex > -1) {
184
+ this.removeTabAt(folderTabIndex);
185
+ }
186
+ }
187
+ }
188
+ }
189
+ setFolderTitleProperties(multipleFolderRootsAreAvailable) {
190
+ this.folderTitle.iconClass = multipleFolderRootsAreAvailable ? FOLDER_DROPDOWN_ICON_CLASSNAME : '';
191
+ if (this.currentSelection.scope === FOLDER_TAB_INDEX) {
192
+ this.folderTitle.label = this.labelProvider.getName(new uri_1.default(this.currentSelection.uri));
193
+ this.folderTitle.dataset = this.toDataSet(this.currentSelection);
194
+ this.folderTitle.className = multipleFolderRootsAreAvailable ? SELECTED_FOLDER_DROPDOWN_CLASSNAME : SINGLE_FOLDER_TAB_CLASSNAME;
195
+ }
196
+ else {
197
+ const singleFolderRoot = this.currentWorkspaceRoots[0].resource;
198
+ const singleFolderLabel = this.labelProvider.getName(singleFolderRoot);
199
+ const defaultURI = multipleFolderRootsAreAvailable ? '' : singleFolderRoot.toString();
200
+ this.folderTitle.label = multipleFolderRootsAreAvailable ? FOLDER_TAB_LABEL : singleFolderLabel;
201
+ this.folderTitle.className = multipleFolderRootsAreAvailable ? UNSELECTED_FOLDER_DROPDOWN_CLASSNAME : SINGLE_FOLDER_TAB_CLASSNAME;
202
+ this.folderTitle.dataset = { folderTitle: 'true', scope: FOLDER_TAB_INDEX.toString(), uri: defaultURI };
203
+ }
204
+ }
205
+ getFolderContextMenu(workspaceRoots = this.workspaceService.tryGetRoots()) {
206
+ this.preferencesMenuFactory.createFolderWorkspacesMenu(workspaceRoots, this.currentSelection.uri);
207
+ }
208
+ handleEvent() {
209
+ // Don't - the handlers are defined in PreferenceScopeTabbarWidget.addTabIndexToTabs()
210
+ }
211
+ openContextMenu(tabRect, folderTabNode, source) {
212
+ const toDisposeOnHide = new common_1.DisposableCollection();
213
+ for (const root of this.workspaceService.tryGetRoots()) {
214
+ const id = `set-scope-to-${root.resource.toString()}`;
215
+ toDisposeOnHide.pushAll([
216
+ this.commandRegistry.registerCommand({ id }, { execute: () => this.setScope(root.resource) }),
217
+ this.menuModelRegistry.registerMenuAction(preference_types_1.PreferenceMenus.FOLDER_SCOPE_MENU_PATH, {
218
+ commandId: id,
219
+ label: this.labelProvider.getName(root),
220
+ })
221
+ ]);
222
+ }
223
+ this.contextMenuRenderer.render({
224
+ menuPath: preference_types_1.PreferenceMenus.FOLDER_SCOPE_MENU_PATH,
225
+ anchor: { x: tabRect.left, y: tabRect.bottom },
226
+ context: folderTabNode,
227
+ onHide: () => {
228
+ setTimeout(() => toDisposeOnHide.dispose());
229
+ if (source === 'click') {
230
+ folderTabNode.blur();
231
+ }
232
+ }
233
+ });
234
+ }
235
+ doUpdateDisplay(newRoots) {
236
+ const folderWasRemoved = newRoots.length < this.currentWorkspaceRoots.length;
237
+ this.currentWorkspaceRoots = newRoots;
238
+ if (folderWasRemoved) {
239
+ const removedFolderWasSelectedScope = !this.currentWorkspaceRoots.some(root => root.resource.toString() === this.currentSelection.uri);
240
+ if (removedFolderWasSelectedScope) {
241
+ this.setNewScopeSelection(preference_types_1.Preference.DEFAULT_SCOPE);
242
+ }
243
+ }
244
+ this.updateWorkspaceTab();
245
+ this.addOrUpdateFolderTab();
246
+ }
247
+ updateWorkspaceTab() {
248
+ var _a;
249
+ const currentWorkspace = this.workspaceService.workspace;
250
+ if (currentWorkspace) {
251
+ const workspaceTitle = (_a = this.titles.find(title => title.label === WORKSPACE_TAB_LABEL)) !== null && _a !== void 0 ? _a : this.addWorkspaceTab(currentWorkspace);
252
+ const scopeDetails = this.getWorkspaceDataset(currentWorkspace);
253
+ workspaceTitle.dataset = this.toDataSet(scopeDetails);
254
+ if (this.currentSelection.scope === common_1.PreferenceScope.Workspace) {
255
+ this.setNewScopeSelection(scopeDetails);
256
+ }
257
+ }
258
+ }
259
+ emitNewScope() {
260
+ this.onScopeChangedEmitter.fire(this.currentSelection);
261
+ }
262
+ setScope(scope) {
263
+ const details = scope instanceof uri_1.default ? this.getDetailsForResource(scope) : this.getDetailsForScope(scope);
264
+ if (details) {
265
+ this.setNewScopeSelection(details);
266
+ }
267
+ }
268
+ getDetailsForScope(scope) {
269
+ const stringifiedSelectionScope = scope.toString();
270
+ const correspondingTitle = this.titles.find(title => title.dataset.scope === stringifiedSelectionScope);
271
+ return this.toScopeDetails(correspondingTitle);
272
+ }
273
+ getDetailsForResource(resource) {
274
+ const parent = this.workspaceService.getWorkspaceRootUri(resource);
275
+ if (!parent) {
276
+ return undefined;
277
+ }
278
+ if (!this.workspaceService.isMultiRootWorkspaceOpened) {
279
+ return this.getDetailsForScope(common_1.PreferenceScope.Workspace);
280
+ }
281
+ return ({ scope: common_1.PreferenceScope.Folder, uri: parent.toString(), activeScopeIsFolder: true });
282
+ }
283
+ storeState() {
284
+ return {
285
+ scopeDetails: this.currentScope
286
+ };
287
+ }
288
+ restoreState(oldState) {
289
+ const scopeDetails = this.toScopeDetails(oldState.scopeDetails);
290
+ if (scopeDetails) {
291
+ this.setNewScopeSelection(scopeDetails);
292
+ }
293
+ }
294
+ toggleShadow(showShadow) {
295
+ this.toggleClass(SHADOW_CLASSNAME, showShadow);
296
+ }
297
+ dispose() {
298
+ super.dispose();
299
+ this.toDispose.dispose();
300
+ }
301
+ };
302
+ exports.PreferencesScopeTabBar = PreferencesScopeTabBar;
303
+ PreferencesScopeTabBar.ID = 'preferences-scope-tab-bar';
304
+ tslib_1.__decorate([
305
+ (0, inversify_1.inject)(workspace_service_1.WorkspaceService),
306
+ tslib_1.__metadata("design:type", workspace_service_1.WorkspaceService)
307
+ ], PreferencesScopeTabBar.prototype, "workspaceService", void 0);
308
+ tslib_1.__decorate([
309
+ (0, inversify_1.inject)(preference_scope_command_manager_1.PreferenceScopeCommandManager),
310
+ tslib_1.__metadata("design:type", preference_scope_command_manager_1.PreferenceScopeCommandManager)
311
+ ], PreferencesScopeTabBar.prototype, "preferencesMenuFactory", void 0);
312
+ tslib_1.__decorate([
313
+ (0, inversify_1.inject)(browser_1.ContextMenuRenderer),
314
+ tslib_1.__metadata("design:type", browser_1.ContextMenuRenderer)
315
+ ], PreferencesScopeTabBar.prototype, "contextMenuRenderer", void 0);
316
+ tslib_1.__decorate([
317
+ (0, inversify_1.inject)(browser_1.LabelProvider),
318
+ tslib_1.__metadata("design:type", browser_1.LabelProvider)
319
+ ], PreferencesScopeTabBar.prototype, "labelProvider", void 0);
320
+ tslib_1.__decorate([
321
+ (0, inversify_1.inject)(common_1.CommandRegistry),
322
+ tslib_1.__metadata("design:type", common_1.CommandRegistry)
323
+ ], PreferencesScopeTabBar.prototype, "commandRegistry", void 0);
324
+ tslib_1.__decorate([
325
+ (0, inversify_1.inject)(common_1.MenuModelRegistry),
326
+ tslib_1.__metadata("design:type", common_1.MenuModelRegistry)
327
+ ], PreferencesScopeTabBar.prototype, "menuModelRegistry", void 0);
328
+ tslib_1.__decorate([
329
+ (0, inversify_1.postConstruct)(),
330
+ tslib_1.__metadata("design:type", Function),
331
+ tslib_1.__metadata("design:paramtypes", []),
332
+ tslib_1.__metadata("design:returntype", void 0)
333
+ ], PreferencesScopeTabBar.prototype, "init", null);
334
+ exports.PreferencesScopeTabBar = PreferencesScopeTabBar = PreferencesScopeTabBar_1 = tslib_1.__decorate([
335
+ (0, inversify_1.injectable)()
336
+ ], PreferencesScopeTabBar);
337
+ //# sourceMappingURL=preference-scope-tabbar-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-scope-tabbar-widget.js","sourceRoot":"","sources":["../../../src/browser/views/preference-scope-tabbar-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /// <reference types="react" />
2
+ import { ReactWidget, StatefulWidget, Widget } from '@theia/core/lib/browser';
3
+ import * as React from '@theia/core/shared/react';
4
+ import { Emitter } from '@theia/core';
5
+ export interface PreferencesSearchbarState {
6
+ searchTerm: string;
7
+ }
8
+ export declare class PreferencesSearchbarWidget extends ReactWidget implements StatefulWidget {
9
+ static readonly ID = "settings.header";
10
+ static readonly LABEL = "Settings Header";
11
+ static readonly SEARCHBAR_ID = "preference-searchbar";
12
+ protected readonly onFilterStringChangedEmitter: Emitter<string>;
13
+ readonly onFilterChanged: import("@theia/core").Event<string>;
14
+ protected searchbarRef: React.RefObject<HTMLInputElement>;
15
+ protected resultsCount: number;
16
+ constructor(options?: Widget.IOptions);
17
+ protected init(): void;
18
+ protected handleSearch: (e: React.ChangeEvent<HTMLInputElement>) => Promise<void>;
19
+ protected search: (value: string) => Promise<void>;
20
+ focus(): void;
21
+ /**
22
+ * Clears the search input and all search results.
23
+ * @param e on-click mouse event.
24
+ */
25
+ protected clearSearchResults: (e: React.MouseEvent) => Promise<void>;
26
+ /**
27
+ * Renders all search bar options.
28
+ */
29
+ protected renderOptionContainer(): React.ReactNode;
30
+ /**
31
+ * Renders a badge displaying search results count.
32
+ */
33
+ protected renderResultsCountOption(): React.ReactNode;
34
+ /**
35
+ * Renders a clear all button.
36
+ */
37
+ protected renderClearAllOption(): React.ReactNode;
38
+ /**
39
+ * Determines whether the search input currently has a value.
40
+ * @returns true, if the search input currently has a value; false, otherwise.
41
+ */
42
+ protected searchTermExists(): boolean;
43
+ protected getSearchTerm(): string;
44
+ updateSearchTerm(searchTerm: string): Promise<void>;
45
+ render(): React.ReactNode;
46
+ /**
47
+ * Updates the search result count.
48
+ * @param count the result count.
49
+ */
50
+ updateResultsCount(count: number): void;
51
+ storeState(): PreferencesSearchbarState;
52
+ restoreState(oldState: PreferencesSearchbarState): void;
53
+ }
54
+ //# sourceMappingURL=preference-searchbar-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-searchbar-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/views/preference-searchbar-widget.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAW,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,qBACa,0BAA2B,SAAQ,WAAY,YAAW,cAAc;IACjF,MAAM,CAAC,QAAQ,CAAC,EAAE,qBAAqB;IACvC,MAAM,CAAC,QAAQ,CAAC,KAAK,qBAAqB;IAC1C,MAAM,CAAC,QAAQ,CAAC,YAAY,0BAA0B;IAEtD,SAAS,CAAC,QAAQ,CAAC,4BAA4B,kBAAyB;IACxE,QAAQ,CAAC,eAAe,sCAA2C;IAEnE,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAuC;IAChG,SAAS,CAAC,YAAY,EAAE,MAAM,CAAK;gBAEV,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ;IAMlD,SAAS,CAAC,IAAI,IAAI,IAAI;IAMtB,SAAS,CAAC,YAAY,MAAO,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC,CAAgC;IAEhH,SAAS,CAAC,MAAM,mCAGR;IAER,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACH,SAAS,CAAC,kBAAkB,MAAa,gBAAgB,KAAG,QAAQ,IAAI,CAAC,CAOvE;IAEF;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,KAAK,CAAC,SAAS;IAMlD;;OAEG;IACH,SAAS,CAAC,wBAAwB,IAAI,KAAK,CAAC,SAAS;IAkBrD;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,KAAK,CAAC,SAAS;IAQjD;;;OAGG;IACH,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAIrC,SAAS,CAAC,aAAa,IAAI,MAAM;IAK3B,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD,MAAM,IAAI,KAAK,CAAC,SAAS;IAoBzB;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvC,UAAU,IAAI,yBAAyB;IAMvC,YAAY,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;CAM1D"}
@@ -0,0 +1,163 @@
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 PreferencesSearchbarWidget_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.PreferencesSearchbarWidget = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const React = require("@theia/core/shared/react");
24
+ const debounce = require("p-debounce");
25
+ const core_1 = require("@theia/core");
26
+ const nls_1 = require("@theia/core/lib/common/nls");
27
+ let PreferencesSearchbarWidget = PreferencesSearchbarWidget_1 = class PreferencesSearchbarWidget extends browser_1.ReactWidget {
28
+ constructor(options) {
29
+ super(options);
30
+ this.onFilterStringChangedEmitter = new core_1.Emitter();
31
+ this.onFilterChanged = this.onFilterStringChangedEmitter.event;
32
+ this.searchbarRef = React.createRef();
33
+ this.resultsCount = 0;
34
+ this.handleSearch = (e) => this.search(e.target.value);
35
+ this.search = debounce(async (value) => {
36
+ this.onFilterStringChangedEmitter.fire(value);
37
+ this.update();
38
+ }, 200);
39
+ /**
40
+ * Clears the search input and all search results.
41
+ * @param e on-click mouse event.
42
+ */
43
+ this.clearSearchResults = async (e) => {
44
+ const search = document.getElementById(PreferencesSearchbarWidget_1.SEARCHBAR_ID);
45
+ if (search) {
46
+ search.value = '';
47
+ await this.search(search.value);
48
+ this.update();
49
+ }
50
+ };
51
+ this.focus = this.focus.bind(this);
52
+ }
53
+ init() {
54
+ this.id = PreferencesSearchbarWidget_1.ID;
55
+ this.title.label = PreferencesSearchbarWidget_1.LABEL;
56
+ this.update();
57
+ }
58
+ focus() {
59
+ if (this.searchbarRef.current) {
60
+ this.searchbarRef.current.focus();
61
+ }
62
+ }
63
+ /**
64
+ * Renders all search bar options.
65
+ */
66
+ renderOptionContainer() {
67
+ const resultsCount = this.renderResultsCountOption();
68
+ const clearAllOption = this.renderClearAllOption();
69
+ return React.createElement("div", { className: "option-buttons" },
70
+ " ",
71
+ resultsCount,
72
+ " ",
73
+ clearAllOption,
74
+ " ");
75
+ }
76
+ /**
77
+ * Renders a badge displaying search results count.
78
+ */
79
+ renderResultsCountOption() {
80
+ let resultsFound;
81
+ if (this.resultsCount === 0) {
82
+ resultsFound = nls_1.nls.localizeByDefault('No Settings Found');
83
+ }
84
+ else if (this.resultsCount === 1) {
85
+ resultsFound = nls_1.nls.localizeByDefault('1 Setting Found');
86
+ }
87
+ else {
88
+ resultsFound = nls_1.nls.localizeByDefault('{0} Settings Found', this.resultsCount.toFixed(0));
89
+ }
90
+ return this.searchTermExists() ?
91
+ (React.createElement("span", { className: "results-found", title: resultsFound }, resultsFound))
92
+ : '';
93
+ }
94
+ /**
95
+ * Renders a clear all button.
96
+ */
97
+ renderClearAllOption() {
98
+ return React.createElement("span", { className: `${(0, browser_1.codicon)('clear-all')} option ${(this.searchTermExists() ? 'enabled' : '')}`, title: nls_1.nls.localizeByDefault('Clear Search Results'), onClick: this.clearSearchResults });
99
+ }
100
+ /**
101
+ * Determines whether the search input currently has a value.
102
+ * @returns true, if the search input currently has a value; false, otherwise.
103
+ */
104
+ searchTermExists() {
105
+ var _a;
106
+ return !!((_a = this.searchbarRef.current) === null || _a === void 0 ? void 0 : _a.value);
107
+ }
108
+ getSearchTerm() {
109
+ const search = document.getElementById(PreferencesSearchbarWidget_1.SEARCHBAR_ID);
110
+ return search === null || search === void 0 ? void 0 : search.value;
111
+ }
112
+ async updateSearchTerm(searchTerm) {
113
+ const search = document.getElementById(PreferencesSearchbarWidget_1.SEARCHBAR_ID);
114
+ if (!search || search.value === searchTerm) {
115
+ return;
116
+ }
117
+ search.value = searchTerm;
118
+ await this.search(search.value);
119
+ this.update();
120
+ }
121
+ render() {
122
+ const optionContainer = this.renderOptionContainer();
123
+ return (React.createElement("div", { className: 'settings-header' },
124
+ React.createElement("div", { className: "settings-search-container", ref: this.focus },
125
+ React.createElement("input", { type: "text", id: PreferencesSearchbarWidget_1.SEARCHBAR_ID, spellCheck: false, placeholder: nls_1.nls.localizeByDefault('Search settings'), className: "settings-search-input theia-input", onChange: this.handleSearch, ref: this.searchbarRef }),
126
+ optionContainer)));
127
+ }
128
+ /**
129
+ * Updates the search result count.
130
+ * @param count the result count.
131
+ */
132
+ updateResultsCount(count) {
133
+ this.resultsCount = count;
134
+ this.update();
135
+ }
136
+ storeState() {
137
+ return {
138
+ searchTerm: this.getSearchTerm()
139
+ };
140
+ }
141
+ restoreState(oldState) {
142
+ const searchInputExists = this.onDidChangeVisibility(() => {
143
+ this.updateSearchTerm(oldState.searchTerm || '');
144
+ searchInputExists.dispose();
145
+ });
146
+ }
147
+ };
148
+ exports.PreferencesSearchbarWidget = PreferencesSearchbarWidget;
149
+ PreferencesSearchbarWidget.ID = 'settings.header';
150
+ PreferencesSearchbarWidget.LABEL = 'Settings Header';
151
+ PreferencesSearchbarWidget.SEARCHBAR_ID = 'preference-searchbar';
152
+ tslib_1.__decorate([
153
+ (0, inversify_1.postConstruct)(),
154
+ tslib_1.__metadata("design:type", Function),
155
+ tslib_1.__metadata("design:paramtypes", []),
156
+ tslib_1.__metadata("design:returntype", void 0)
157
+ ], PreferencesSearchbarWidget.prototype, "init", null);
158
+ exports.PreferencesSearchbarWidget = PreferencesSearchbarWidget = PreferencesSearchbarWidget_1 = tslib_1.__decorate([
159
+ (0, inversify_1.injectable)(),
160
+ tslib_1.__param(0, (0, inversify_1.unmanaged)()),
161
+ tslib_1.__metadata("design:paramtypes", [Object])
162
+ ], PreferencesSearchbarWidget);
163
+ //# sourceMappingURL=preference-searchbar-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-searchbar-widget.js","sourceRoot":"","sources":["../../../src/browser/views/preference-searchbar-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { TreeNode, TreeProps, TreeWidget } from '@theia/core/lib/browser';
3
+ import React = require('@theia/core/shared/react');
4
+ import { PreferenceTreeModel, PreferenceTreeNodeRow, PreferenceTreeNodeProps } from '../preference-tree-model';
5
+ import { Preference } from '../util/preference-types';
6
+ export declare class PreferencesTreeWidget extends TreeWidget {
7
+ static ID: string;
8
+ protected shouldFireSelectionEvents: boolean;
9
+ protected firstVisibleLeafNodeID: string;
10
+ readonly model: PreferenceTreeModel;
11
+ protected readonly treeProps: TreeProps;
12
+ init(): void;
13
+ doUpdateRows(): void;
14
+ protected isVisibleNode(node: Preference.TreeNode): boolean;
15
+ protected doRenderNodeRow({ depth, visibleChildren, node, isExpansible }: PreferenceTreeNodeRow): React.ReactNode;
16
+ protected renderNode(node: TreeNode, props: PreferenceTreeNodeProps): React.ReactNode;
17
+ protected renderExpansionToggle(node: TreeNode, props: PreferenceTreeNodeProps): React.ReactNode;
18
+ protected toNodeName(node: TreeNode): string;
19
+ }
20
+ //# sourceMappingURL=preference-tree-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preference-tree-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/views/preference-tree-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAEH,QAAQ,EACR,SAAS,EACT,UAAU,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,GAAG,QAAQ,0BAA0B,CAAC,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,qBACa,qBAAsB,SAAQ,UAAU;IACjD,MAAM,CAAC,EAAE,SAAsB;IAE/B,SAAS,CAAC,yBAAyB,EAAE,OAAO,CAAQ;IACpD,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAEzC,SAA+C,KAAK,EAAE,mBAAmB,CAAC;IACvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGlD,IAAI,IAAI,IAAI;IAUZ,YAAY,IAAI,IAAI;IAW7B,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,OAAO;cAQxC,eAAe,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,SAAS;cAIvG,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS;cAc3E,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,GAAG,KAAK,CAAC,SAAS;cAOtF,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;CAQxD"}