@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.
- package/lib/browser/folder-preference-provider.d.ts +23 -0
- package/lib/browser/folder-preference-provider.d.ts.map +1 -0
- package/lib/browser/folder-preference-provider.js +57 -0
- package/lib/browser/folder-preference-provider.js.map +1 -0
- package/lib/browser/folders-preferences-provider.d.ts +27 -0
- package/lib/browser/folders-preferences-provider.d.ts.map +1 -0
- package/lib/browser/folders-preferences-provider.js +237 -0
- package/lib/browser/folders-preferences-provider.js.map +1 -0
- package/lib/browser/frontend-preference-storage.d.ts +20 -0
- package/lib/browser/frontend-preference-storage.d.ts.map +1 -0
- package/lib/browser/frontend-preference-storage.js +63 -0
- package/lib/browser/frontend-preference-storage.js.map +1 -0
- package/lib/browser/index.d.ts +5 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +23 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/monaco-jsonc-editor.d.ts +10 -0
- package/lib/browser/monaco-jsonc-editor.d.ts.map +1 -0
- package/lib/browser/monaco-jsonc-editor.js +73 -0
- package/lib/browser/monaco-jsonc-editor.js.map +1 -0
- package/lib/browser/package.spec.d.ts +1 -0
- package/lib/browser/package.spec.d.ts.map +1 -0
- package/lib/browser/package.spec.js +26 -0
- package/lib/browser/package.spec.js.map +1 -0
- package/lib/browser/preference-bindings.d.ts +4 -0
- package/lib/browser/preference-bindings.d.ts.map +1 -0
- package/lib/browser/preference-bindings.js +49 -0
- package/lib/browser/preference-bindings.js.map +1 -0
- package/lib/browser/preference-frontend-contribution.d.ts +9 -0
- package/lib/browser/preference-frontend-contribution.d.ts.map +1 -0
- package/lib/browser/preference-frontend-contribution.js +45 -0
- package/lib/browser/preference-frontend-contribution.js.map +1 -0
- package/lib/browser/preference-frontend-module.d.ts +7 -0
- package/lib/browser/preference-frontend-module.d.ts.map +1 -0
- package/lib/browser/preference-frontend-module.js +67 -0
- package/lib/browser/preference-frontend-module.js.map +1 -0
- package/lib/browser/preference-open-handler.d.ts +10 -0
- package/lib/browser/preference-open-handler.d.ts.map +1 -0
- package/lib/browser/preference-open-handler.js +57 -0
- package/lib/browser/preference-open-handler.js.map +1 -0
- package/lib/browser/preference-transaction-manager.d.ts +98 -0
- package/lib/browser/preference-transaction-manager.d.ts.map +1 -0
- package/lib/browser/preference-transaction-manager.js +279 -0
- package/lib/browser/preference-transaction-manager.js.map +1 -0
- package/lib/browser/preference-tree-model.d.ts +60 -0
- package/lib/browser/preference-tree-model.d.ts.map +1 -0
- package/lib/browser/preference-tree-model.js +247 -0
- package/lib/browser/preference-tree-model.js.map +1 -0
- package/lib/browser/preferences-contribution.d.ts +35 -0
- package/lib/browser/preferences-contribution.d.ts.map +1 -0
- package/lib/browser/preferences-contribution.js +263 -0
- package/lib/browser/preferences-contribution.js.map +1 -0
- package/lib/browser/preferences-json-schema-contribution.d.ts +17 -0
- package/lib/browser/preferences-json-schema-contribution.d.ts.map +1 -0
- package/lib/browser/preferences-json-schema-contribution.js +84 -0
- package/lib/browser/preferences-json-schema-contribution.js.map +1 -0
- package/lib/browser/preferences-monaco-contribution.d.ts +2 -0
- package/lib/browser/preferences-monaco-contribution.d.ts.map +1 -0
- package/lib/browser/preferences-monaco-contribution.js +28 -0
- package/lib/browser/preferences-monaco-contribution.js.map +1 -0
- package/lib/browser/util/preference-layout.d.ts +23 -0
- package/lib/browser/util/preference-layout.d.ts.map +1 -0
- package/lib/browser/util/preference-layout.js +441 -0
- package/lib/browser/util/preference-layout.js.map +1 -0
- package/lib/browser/util/preference-scope-command-manager.d.ts +18 -0
- package/lib/browser/util/preference-scope-command-manager.d.ts.map +1 -0
- package/lib/browser/util/preference-scope-command-manager.js +80 -0
- package/lib/browser/util/preference-scope-command-manager.js.map +1 -0
- package/lib/browser/util/preference-tree-generator.d.ts +48 -0
- package/lib/browser/util/preference-tree-generator.d.ts.map +1 -0
- package/lib/browser/util/preference-tree-generator.js +277 -0
- package/lib/browser/util/preference-tree-generator.js.map +1 -0
- package/lib/browser/util/preference-tree-label-provider.d.ts +12 -0
- package/lib/browser/util/preference-tree-label-provider.d.ts.map +1 -0
- package/lib/browser/util/preference-tree-label-provider.js +74 -0
- package/lib/browser/util/preference-tree-label-provider.js.map +1 -0
- package/lib/browser/util/preference-tree-label-provider.spec.d.ts +2 -0
- package/lib/browser/util/preference-tree-label-provider.spec.d.ts.map +1 -0
- package/lib/browser/util/preference-tree-label-provider.spec.js +90 -0
- package/lib/browser/util/preference-tree-label-provider.spec.js.map +1 -0
- package/lib/browser/util/preference-types.d.ts +69 -0
- package/lib/browser/util/preference-types.d.ts.map +1 -0
- package/lib/browser/util/preference-types.js +133 -0
- package/lib/browser/util/preference-types.js.map +1 -0
- package/lib/browser/views/components/preference-array-input.d.ts +29 -0
- package/lib/browser/views/components/preference-array-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-array-input.js +176 -0
- package/lib/browser/views/components/preference-array-input.js.map +1 -0
- package/lib/browser/views/components/preference-boolean-input.d.ts +18 -0
- package/lib/browser/views/components/preference-boolean-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-boolean-input.js +75 -0
- package/lib/browser/views/components/preference-boolean-input.js.map +1 -0
- package/lib/browser/views/components/preference-file-input.d.ts +30 -0
- package/lib/browser/views/components/preference-file-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-file-input.js +103 -0
- package/lib/browser/views/components/preference-file-input.js.map +1 -0
- package/lib/browser/views/components/preference-json-input.d.ts +20 -0
- package/lib/browser/views/components/preference-json-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-json-input.js +86 -0
- package/lib/browser/views/components/preference-json-input.js.map +1 -0
- package/lib/browser/views/components/preference-markdown-renderer.d.ts +15 -0
- package/lib/browser/views/components/preference-markdown-renderer.d.ts.map +1 -0
- package/lib/browser/views/components/preference-markdown-renderer.js +86 -0
- package/lib/browser/views/components/preference-markdown-renderer.js.map +1 -0
- package/lib/browser/views/components/preference-node-renderer-creator.d.ts +49 -0
- package/lib/browser/views/components/preference-node-renderer-creator.d.ts.map +1 -0
- package/lib/browser/views/components/preference-node-renderer-creator.js +122 -0
- package/lib/browser/views/components/preference-node-renderer-creator.js.map +1 -0
- package/lib/browser/views/components/preference-node-renderer.d.ts +118 -0
- package/lib/browser/views/components/preference-node-renderer.d.ts.map +1 -0
- package/lib/browser/views/components/preference-node-renderer.js +442 -0
- package/lib/browser/views/components/preference-node-renderer.js.map +1 -0
- package/lib/browser/views/components/preference-null-input.d.ts +16 -0
- package/lib/browser/views/components/preference-null-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-null-input.js +59 -0
- package/lib/browser/views/components/preference-null-input.js.map +1 -0
- package/lib/browser/views/components/preference-number-input.d.ts +35 -0
- package/lib/browser/views/components/preference-number-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-number-input.js +174 -0
- package/lib/browser/views/components/preference-number-input.js.map +1 -0
- package/lib/browser/views/components/preference-select-input.d.ts +29 -0
- package/lib/browser/views/components/preference-select-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-select-input.js +131 -0
- package/lib/browser/views/components/preference-select-input.js.map +1 -0
- package/lib/browser/views/components/preference-string-input.d.ts +18 -0
- package/lib/browser/views/components/preference-string-input.d.ts.map +1 -0
- package/lib/browser/views/components/preference-string-input.js +85 -0
- package/lib/browser/views/components/preference-string-input.js.map +1 -0
- package/lib/browser/views/preference-editor-widget.d.ts +75 -0
- package/lib/browser/views/preference-editor-widget.d.ts.map +1 -0
- package/lib/browser/views/preference-editor-widget.js +391 -0
- package/lib/browser/views/preference-editor-widget.js.map +1 -0
- package/lib/browser/views/preference-scope-tabbar-widget.d.ts +55 -0
- package/lib/browser/views/preference-scope-tabbar-widget.d.ts.map +1 -0
- package/lib/browser/views/preference-scope-tabbar-widget.js +337 -0
- package/lib/browser/views/preference-scope-tabbar-widget.js.map +1 -0
- package/lib/browser/views/preference-searchbar-widget.d.ts +54 -0
- package/lib/browser/views/preference-searchbar-widget.d.ts.map +1 -0
- package/lib/browser/views/preference-searchbar-widget.js +163 -0
- package/lib/browser/views/preference-searchbar-widget.js.map +1 -0
- package/lib/browser/views/preference-tree-widget.d.ts +20 -0
- package/lib/browser/views/preference-tree-widget.d.ts.map +1 -0
- package/lib/browser/views/preference-tree-widget.js +106 -0
- package/lib/browser/views/preference-tree-widget.js.map +1 -0
- package/lib/browser/views/preference-widget-bindings.d.ts +4 -0
- package/lib/browser/views/preference-widget-bindings.d.ts.map +1 -0
- package/lib/browser/views/preference-widget-bindings.js +91 -0
- package/lib/browser/views/preference-widget-bindings.js.map +1 -0
- package/lib/browser/views/preference-widget.d.ts +38 -0
- package/lib/browser/views/preference-widget.d.ts.map +1 -0
- package/lib/browser/views/preference-widget.js +120 -0
- package/lib/browser/views/preference-widget.js.map +1 -0
- package/lib/browser/workspace-file-preference-provider.d.ts +24 -0
- package/lib/browser/workspace-file-preference-provider.d.ts.map +1 -0
- package/lib/browser/workspace-file-preference-provider.js +103 -0
- package/lib/browser/workspace-file-preference-provider.js.map +1 -0
- package/lib/browser/workspace-preference-provider.d.ts +36 -0
- package/lib/browser/workspace-preference-provider.d.ts.map +1 -0
- package/lib/browser/workspace-preference-provider.js +147 -0
- package/lib/browser/workspace-preference-provider.js.map +1 -0
- package/lib/common/abstract-resource-preference-provider.d.ts +69 -0
- package/lib/common/abstract-resource-preference-provider.d.ts.map +1 -0
- package/lib/common/abstract-resource-preference-provider.js +207 -0
- package/lib/common/abstract-resource-preference-provider.js.map +1 -0
- package/lib/common/abstract-resource-preference-provider.spec.d.ts +2 -0
- package/lib/common/abstract-resource-preference-provider.spec.d.ts.map +1 -0
- package/lib/common/abstract-resource-preference-provider.spec.js +84 -0
- package/lib/common/abstract-resource-preference-provider.spec.js.map +1 -0
- package/lib/common/cli-preferences.d.ts +6 -0
- package/lib/common/cli-preferences.d.ts.map +1 -0
- package/lib/common/cli-preferences.js +21 -0
- package/lib/common/cli-preferences.js.map +1 -0
- package/lib/common/jsonc-editor.d.ts +10 -0
- package/lib/common/jsonc-editor.d.ts.map +1 -0
- package/lib/common/jsonc-editor.js +68 -0
- package/lib/common/jsonc-editor.js.map +1 -0
- package/lib/common/section-preference-provider.d.ts +20 -0
- package/lib/common/section-preference-provider.d.ts.map +1 -0
- package/lib/common/section-preference-provider.js +84 -0
- package/lib/common/section-preference-provider.js.map +1 -0
- package/lib/common/user-configs-preference-provider.d.ts +24 -0
- package/lib/common/user-configs-preference-provider.d.ts.map +1 -0
- package/lib/common/user-configs-preference-provider.js +134 -0
- package/lib/common/user-configs-preference-provider.js.map +1 -0
- package/lib/common/user-preference-provider.d.ts +14 -0
- package/lib/common/user-preference-provider.d.ts.map +1 -0
- package/lib/common/user-preference-provider.js +37 -0
- package/lib/common/user-preference-provider.js.map +1 -0
- package/lib/node/backend-preference-storage.d.ts +34 -0
- package/lib/node/backend-preference-storage.d.ts.map +1 -0
- package/lib/node/backend-preference-storage.js +100 -0
- package/lib/node/backend-preference-storage.js.map +1 -0
- package/lib/node/preference-backend-module.d.ts +4 -0
- package/lib/node/preference-backend-module.d.ts.map +1 -0
- package/lib/node/preference-backend-module.js +41 -0
- package/lib/node/preference-backend-module.js.map +1 -0
- package/lib/node/preference-bindings.d.ts +3 -0
- package/lib/node/preference-bindings.d.ts.map +1 -0
- package/lib/node/preference-bindings.js +33 -0
- package/lib/node/preference-bindings.js.map +1 -0
- package/lib/node/preference-cli-contribution.d.ts +11 -0
- package/lib/node/preference-cli-contribution.d.ts.map +1 -0
- package/lib/node/preference-cli-contribution.js +48 -0
- package/lib/node/preference-cli-contribution.js.map +1 -0
- package/package.json +8 -8
- 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"}
|