@jupyterlab/settingeditor 4.0.0-alpha.2 → 4.0.0-alpha.20
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/SettingsFormEditor.d.ts +101 -0
- package/lib/SettingsFormEditor.js +151 -0
- package/lib/SettingsFormEditor.js.map +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/inspector.js +24 -30
- package/lib/inspector.js.map +1 -1
- package/lib/{settingeditor.d.ts → jsonsettingeditor.d.ts} +5 -6
- package/lib/{settingeditor.js → jsonsettingeditor.js} +25 -43
- package/lib/jsonsettingeditor.js.map +1 -0
- package/lib/plugineditor.d.ts +3 -3
- package/lib/plugineditor.js +2 -6
- package/lib/plugineditor.js.map +1 -1
- package/lib/pluginlist.d.ts +58 -22
- package/lib/pluginlist.js +246 -109
- package/lib/pluginlist.js.map +1 -1
- package/lib/raweditor.d.ts +2 -6
- package/lib/raweditor.js +22 -33
- package/lib/raweditor.js.map +1 -1
- package/lib/settingseditor.d.ts +81 -0
- package/lib/settingseditor.js +121 -0
- package/lib/settingseditor.js.map +1 -0
- package/lib/settingspanel.d.ts +54 -0
- package/lib/settingspanel.js +102 -0
- package/lib/settingspanel.js.map +1 -0
- package/lib/tokens.d.ts +12 -2
- package/lib/tokens.js +4 -1
- package/lib/tokens.js.map +1 -1
- package/package.json +28 -21
- package/src/SettingsFormEditor.tsx +306 -0
- package/src/index.ts +10 -0
- package/src/inspector.ts +144 -0
- package/src/jsonsettingeditor.tsx +482 -0
- package/src/plugineditor.ts +257 -0
- package/src/pluginlist.tsx +538 -0
- package/src/raweditor.ts +422 -0
- package/src/settingseditor.tsx +210 -0
- package/src/settingspanel.tsx +218 -0
- package/src/tokens.ts +33 -0
- package/style/base.css +213 -89
- package/style/index.css +1 -0
- package/style/index.js +1 -0
- package/lib/settingeditor.js.map +0 -1
- package/lib/splitpanel.d.ts +0 -13
- package/lib/splitpanel.js +0 -26
- package/lib/splitpanel.js.map +0 -1
package/lib/plugineditor.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
| Copyright (c) Jupyter Development Team.
|
|
3
3
|
| Distributed under the terms of the Modified BSD License.
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
|
-
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
5
|
+
import { Dialog, showDialog, showErrorMessage } from '@jupyterlab/apputils';
|
|
6
6
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
7
7
|
import { JSONExt } from '@lumino/coreutils';
|
|
8
8
|
import { Signal } from '@lumino/signaling';
|
|
@@ -155,11 +155,7 @@ var Private;
|
|
|
155
155
|
translator = translator || nullTranslator;
|
|
156
156
|
const trans = translator.load('jupyterlab');
|
|
157
157
|
console.error(`Saving setting editor value failed: ${reason.message}`);
|
|
158
|
-
void
|
|
159
|
-
title: trans.__('Your changes were not saved.'),
|
|
160
|
-
body: reason.message,
|
|
161
|
-
buttons: [Dialog.okButton({ label: trans.__('Ok') })]
|
|
162
|
-
});
|
|
158
|
+
void showErrorMessage(trans.__('Your changes were not saved.'), reason);
|
|
163
159
|
}
|
|
164
160
|
Private.onSaveError = onSaveError;
|
|
165
161
|
})(Private || (Private = {}));
|
package/lib/plugineditor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugineditor.js","sourceRoot":"","sources":["../src/plugineditor.ts"],"names":[],"mappings":"AAAA;;;+EAG+E;AAE/E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugineditor.js","sourceRoot":"","sources":["../src/plugineditor.ts"],"names":[],"mappings":"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"}
|
package/lib/pluginlist.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { ReactWidget } from '@jupyterlab/apputils';
|
|
1
2
|
import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
2
3
|
import { ITranslator } from '@jupyterlab/translation';
|
|
4
|
+
import { IScore } from '@jupyterlab/ui-components';
|
|
3
5
|
import { Message } from '@lumino/messaging';
|
|
4
6
|
import { ISignal } from '@lumino/signaling';
|
|
5
|
-
import { Widget } from '@lumino/widgets';
|
|
6
7
|
/**
|
|
7
8
|
* A list of plugins with editable settings.
|
|
8
9
|
*/
|
|
9
|
-
export declare class PluginList extends
|
|
10
|
+
export declare class PluginList extends ReactWidget {
|
|
10
11
|
/**
|
|
11
12
|
* Create a new plugin list.
|
|
12
13
|
*/
|
|
@@ -23,30 +24,18 @@ export declare class PluginList extends Widget {
|
|
|
23
24
|
* The selection value of the plugin list.
|
|
24
25
|
*/
|
|
25
26
|
get scrollTop(): number | undefined;
|
|
27
|
+
get hasErrors(): boolean;
|
|
28
|
+
get filter(): (item: ISettingRegistry.IPlugin) => string[] | null;
|
|
26
29
|
/**
|
|
27
30
|
* The selection value of the plugin list.
|
|
28
31
|
*/
|
|
29
32
|
get selection(): string;
|
|
30
33
|
set selection(selection: string);
|
|
31
34
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @param event - The DOM event sent to the widget.
|
|
35
|
-
*
|
|
36
|
-
* #### Notes
|
|
37
|
-
* This method implements the DOM `EventListener` interface and is
|
|
38
|
-
* called in response to events on the plugin list's node. It should
|
|
39
|
-
* not be called directly by user code.
|
|
35
|
+
* Signal that fires when search filter is updated so that settings panel can filter results.
|
|
40
36
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
* Handle `'after-attach'` messages.
|
|
44
|
-
*/
|
|
45
|
-
protected onAfterAttach(msg: Message): void;
|
|
46
|
-
/**
|
|
47
|
-
* Handle `before-detach` messages for the widget.
|
|
48
|
-
*/
|
|
49
|
-
protected onBeforeDetach(msg: Message): void;
|
|
37
|
+
get updateFilterSignal(): ISignal<this, (plugin: ISettingRegistry.IPlugin) => string[] | null>;
|
|
38
|
+
get handleSelectSignal(): ISignal<this, string>;
|
|
50
39
|
/**
|
|
51
40
|
* Handle `'update-request'` messages.
|
|
52
41
|
*/
|
|
@@ -57,9 +46,44 @@ export declare class PluginList extends Widget {
|
|
|
57
46
|
* @param event - The DOM event sent to the widget
|
|
58
47
|
*/
|
|
59
48
|
private _evtMousedown;
|
|
49
|
+
/**
|
|
50
|
+
* Check the plugin for a rendering hint's value.
|
|
51
|
+
*
|
|
52
|
+
* #### Notes
|
|
53
|
+
* The order of priority for overridden hints is as follows, from most
|
|
54
|
+
* important to least:
|
|
55
|
+
* 1. Data set by the end user in a settings file.
|
|
56
|
+
* 2. Data set by the plugin author as a schema default.
|
|
57
|
+
* 3. Data set by the plugin author as a top-level key of the schema.
|
|
58
|
+
*/
|
|
59
|
+
getHint(key: string, registry: ISettingRegistry, plugin: ISettingRegistry.IPlugin): string;
|
|
60
|
+
/**
|
|
61
|
+
* Function to recursively filter properties that match search results.
|
|
62
|
+
* @param filter - Function to filter based on search results
|
|
63
|
+
* @param props - Schema properties being filtered
|
|
64
|
+
* @param definitions - Definitions to use for filling in references in properties
|
|
65
|
+
* @param ref - Reference to a definition
|
|
66
|
+
* @returns - String array of properties that match the search results.
|
|
67
|
+
*/
|
|
68
|
+
getFilterString(filter: (item: string) => Partial<IScore> | null, props: ISettingRegistry.IProperty, definitions?: any, ref?: string): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Updates the filter when the search bar value changes.
|
|
71
|
+
* @param filter Filter function passed by search bar based on search value.
|
|
72
|
+
*/
|
|
73
|
+
setFilter(filter: (item: string) => Partial<IScore> | null, query?: string): void;
|
|
74
|
+
setError(id: string, error: boolean): void;
|
|
75
|
+
mapPlugins(plugin: ISettingRegistry.IPlugin): JSX.Element;
|
|
76
|
+
render(): JSX.Element;
|
|
60
77
|
protected translator: ITranslator;
|
|
61
78
|
private _changed;
|
|
62
|
-
private
|
|
79
|
+
private _errors;
|
|
80
|
+
private _filter;
|
|
81
|
+
private _query;
|
|
82
|
+
private _handleSelectSignal;
|
|
83
|
+
private _updateFilterSignal;
|
|
84
|
+
private _allPlugins;
|
|
85
|
+
private _settings;
|
|
86
|
+
private _confirm?;
|
|
63
87
|
private _scrollTop;
|
|
64
88
|
private _selection;
|
|
65
89
|
}
|
|
@@ -74,19 +98,31 @@ export declare namespace PluginList {
|
|
|
74
98
|
/**
|
|
75
99
|
* A function that allows for asynchronously confirming a selection.
|
|
76
100
|
*
|
|
77
|
-
* ####
|
|
101
|
+
* #### Notes
|
|
78
102
|
* If the promise returned by the function resolves, then the selection will
|
|
79
103
|
* succeed and emit an event. If the promise rejects, the selection is not
|
|
80
104
|
* made.
|
|
81
105
|
*/
|
|
82
|
-
confirm:
|
|
106
|
+
confirm?: (id: string) => Promise<void>;
|
|
83
107
|
/**
|
|
84
108
|
* The setting registry for the plugin list.
|
|
85
109
|
*/
|
|
86
110
|
registry: ISettingRegistry;
|
|
111
|
+
/**
|
|
112
|
+
* List of plugins to skip
|
|
113
|
+
*/
|
|
114
|
+
toSkip?: string[];
|
|
87
115
|
/**
|
|
88
116
|
* The setting registry for the plugin list.
|
|
89
117
|
*/
|
|
90
118
|
translator?: ITranslator;
|
|
119
|
+
/**
|
|
120
|
+
* An optional initial query so the plugin list can filter on start.
|
|
121
|
+
*/
|
|
122
|
+
query?: string;
|
|
91
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Sort a list of plugins by title and ID.
|
|
126
|
+
*/
|
|
127
|
+
function sortPlugins(registry: ISettingRegistry): ISettingRegistry.IPlugin[];
|
|
92
128
|
}
|
package/lib/pluginlist.js
CHANGED
|
@@ -2,22 +2,42 @@
|
|
|
2
2
|
| Copyright (c) Jupyter Development Team.
|
|
3
3
|
| Distributed under the terms of the Modified BSD License.
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
|
+
import { ReactWidget } from '@jupyterlab/apputils';
|
|
5
6
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
6
|
-
import { classes, LabIcon, settingsIcon } from '@jupyterlab/ui-components';
|
|
7
|
+
import { classes, FilterBox, LabIcon, settingsIcon, updateFilterFunction } from '@jupyterlab/ui-components';
|
|
8
|
+
import { StringExt } from '@lumino/algorithm';
|
|
7
9
|
import { Signal } from '@lumino/signaling';
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
import React from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* The JupyterLab plugin schema key for the setting editor
|
|
13
|
+
* icon class of a plugin.
|
|
14
|
+
*/
|
|
15
|
+
const ICON_KEY = 'jupyter.lab.setting-icon';
|
|
16
|
+
/**
|
|
17
|
+
* The JupyterLab plugin schema key for the setting editor
|
|
18
|
+
* icon class of a plugin.
|
|
19
|
+
*/
|
|
20
|
+
const ICON_CLASS_KEY = 'jupyter.lab.setting-icon-class';
|
|
21
|
+
/**
|
|
22
|
+
* The JupyterLab plugin schema key for the setting editor
|
|
23
|
+
* icon label of a plugin.
|
|
24
|
+
*/
|
|
25
|
+
const ICON_LABEL_KEY = 'jupyter.lab.setting-icon-label';
|
|
11
26
|
/**
|
|
12
27
|
* A list of plugins with editable settings.
|
|
13
28
|
*/
|
|
14
|
-
export class PluginList extends
|
|
29
|
+
export class PluginList extends ReactWidget {
|
|
15
30
|
/**
|
|
16
31
|
* Create a new plugin list.
|
|
17
32
|
*/
|
|
18
33
|
constructor(options) {
|
|
34
|
+
var _a;
|
|
19
35
|
super();
|
|
20
36
|
this._changed = new Signal(this);
|
|
37
|
+
this._handleSelectSignal = new Signal(this);
|
|
38
|
+
this._updateFilterSignal = new Signal(this);
|
|
39
|
+
this._allPlugins = [];
|
|
40
|
+
this._settings = {};
|
|
21
41
|
this._scrollTop = 0;
|
|
22
42
|
this._selection = '';
|
|
23
43
|
this.registry = options.registry;
|
|
@@ -27,6 +47,39 @@ export class PluginList extends Widget {
|
|
|
27
47
|
this.registry.pluginChanged.connect(() => {
|
|
28
48
|
this.update();
|
|
29
49
|
}, this);
|
|
50
|
+
this.mapPlugins = this.mapPlugins.bind(this);
|
|
51
|
+
this.setFilter = this.setFilter.bind(this);
|
|
52
|
+
this.setFilter(updateFilterFunction((_a = options.query) !== null && _a !== void 0 ? _a : '', false, false));
|
|
53
|
+
this.setError = this.setError.bind(this);
|
|
54
|
+
this._evtMousedown = this._evtMousedown.bind(this);
|
|
55
|
+
this._query = options.query;
|
|
56
|
+
this._allPlugins = PluginList.sortPlugins(this.registry).filter(plugin => {
|
|
57
|
+
var _a;
|
|
58
|
+
const { schema } = plugin;
|
|
59
|
+
const deprecated = schema['jupyter.lab.setting-deprecated'] === true;
|
|
60
|
+
const editable = Object.keys(schema.properties || {}).length > 0;
|
|
61
|
+
const extensible = schema.additionalProperties !== false;
|
|
62
|
+
// Filters out a couple of plugins that take too long to load in the new settings editor.
|
|
63
|
+
const correctEditor =
|
|
64
|
+
// If this is the json settings editor, anything is fine
|
|
65
|
+
this._confirm ||
|
|
66
|
+
// If this is the new settings editor, remove context menu / main menu settings.
|
|
67
|
+
(!this._confirm && !((_a = options.toSkip) !== null && _a !== void 0 ? _a : []).includes(plugin.id));
|
|
68
|
+
return !deprecated && correctEditor && (editable || extensible);
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Loads all settings and stores them for easy access when displaying search results.
|
|
72
|
+
*/
|
|
73
|
+
const loadSettings = async () => {
|
|
74
|
+
for (const plugin of this._allPlugins) {
|
|
75
|
+
const pluginSettings = (await this.registry.load(plugin.id));
|
|
76
|
+
this._settings[plugin.id] = pluginSettings;
|
|
77
|
+
}
|
|
78
|
+
this.update();
|
|
79
|
+
};
|
|
80
|
+
void loadSettings();
|
|
81
|
+
this._errors = {};
|
|
82
|
+
this.selection = this._allPlugins[0].id;
|
|
30
83
|
}
|
|
31
84
|
/**
|
|
32
85
|
* A signal emitted when a list user interaction happens.
|
|
@@ -41,6 +94,17 @@ export class PluginList extends Widget {
|
|
|
41
94
|
var _a;
|
|
42
95
|
return (_a = this.node.querySelector('ul')) === null || _a === void 0 ? void 0 : _a.scrollTop;
|
|
43
96
|
}
|
|
97
|
+
get hasErrors() {
|
|
98
|
+
for (const id in this._errors) {
|
|
99
|
+
if (this._errors[id]) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
get filter() {
|
|
106
|
+
return this._filter;
|
|
107
|
+
}
|
|
44
108
|
/**
|
|
45
109
|
* The selection value of the plugin list.
|
|
46
110
|
*/
|
|
@@ -48,56 +112,27 @@ export class PluginList extends Widget {
|
|
|
48
112
|
return this._selection;
|
|
49
113
|
}
|
|
50
114
|
set selection(selection) {
|
|
51
|
-
if (this._selection === selection) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
115
|
this._selection = selection;
|
|
55
116
|
this.update();
|
|
56
117
|
}
|
|
57
118
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* @param event - The DOM event sent to the widget.
|
|
61
|
-
*
|
|
62
|
-
* #### Notes
|
|
63
|
-
* This method implements the DOM `EventListener` interface and is
|
|
64
|
-
* called in response to events on the plugin list's node. It should
|
|
65
|
-
* not be called directly by user code.
|
|
66
|
-
*/
|
|
67
|
-
handleEvent(event) {
|
|
68
|
-
switch (event.type) {
|
|
69
|
-
case 'mousedown':
|
|
70
|
-
this._evtMousedown(event);
|
|
71
|
-
break;
|
|
72
|
-
default:
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Handle `'after-attach'` messages.
|
|
119
|
+
* Signal that fires when search filter is updated so that settings panel can filter results.
|
|
78
120
|
*/
|
|
79
|
-
|
|
80
|
-
this.
|
|
81
|
-
this.update();
|
|
121
|
+
get updateFilterSignal() {
|
|
122
|
+
return this._updateFilterSignal;
|
|
82
123
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*/
|
|
86
|
-
onBeforeDetach(msg) {
|
|
87
|
-
this.node.removeEventListener('mousedown', this);
|
|
124
|
+
get handleSelectSignal() {
|
|
125
|
+
return this._handleSelectSignal;
|
|
88
126
|
}
|
|
89
127
|
/**
|
|
90
128
|
* Handle `'update-request'` messages.
|
|
91
129
|
*/
|
|
92
130
|
onUpdateRequest(msg) {
|
|
93
|
-
const
|
|
94
|
-
const selection = this._selection;
|
|
95
|
-
const translation = this.translator;
|
|
96
|
-
Private.populateList(registry, selection, node, translation);
|
|
97
|
-
const ul = node.querySelector('ul');
|
|
131
|
+
const ul = this.node.querySelector('ul');
|
|
98
132
|
if (ul && this._scrollTop !== undefined) {
|
|
99
133
|
ul.scrollTop = this._scrollTop;
|
|
100
134
|
}
|
|
135
|
+
super.onUpdateRequest(msg);
|
|
101
136
|
}
|
|
102
137
|
/**
|
|
103
138
|
* Handle the `'mousedown'` event for the plugin list.
|
|
@@ -105,53 +140,30 @@ export class PluginList extends Widget {
|
|
|
105
140
|
* @param event - The DOM event sent to the widget
|
|
106
141
|
*/
|
|
107
142
|
_evtMousedown(event) {
|
|
108
|
-
event.
|
|
109
|
-
|
|
110
|
-
let id = target.getAttribute('data-id');
|
|
111
|
-
if (id === this._selection) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
if (!id) {
|
|
115
|
-
while (!id && target !== this.node) {
|
|
116
|
-
target = target.parentElement;
|
|
117
|
-
id = target.getAttribute('data-id');
|
|
118
|
-
}
|
|
119
|
-
}
|
|
143
|
+
const target = event.currentTarget;
|
|
144
|
+
const id = target.getAttribute('data-id');
|
|
120
145
|
if (!id) {
|
|
121
146
|
return;
|
|
122
147
|
}
|
|
123
|
-
this._confirm
|
|
124
|
-
.
|
|
148
|
+
if (this._confirm) {
|
|
149
|
+
this._confirm(id)
|
|
150
|
+
.then(() => {
|
|
151
|
+
this.selection = id;
|
|
152
|
+
this._changed.emit(undefined);
|
|
153
|
+
this.update();
|
|
154
|
+
})
|
|
155
|
+
.catch(() => {
|
|
156
|
+
/* no op */
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
125
160
|
this._scrollTop = this.scrollTop;
|
|
126
161
|
this._selection = id;
|
|
162
|
+
this._handleSelectSignal.emit(id);
|
|
127
163
|
this._changed.emit(undefined);
|
|
128
164
|
this.update();
|
|
129
|
-
}
|
|
130
|
-
.catch(() => {
|
|
131
|
-
/* no op */
|
|
132
|
-
});
|
|
165
|
+
}
|
|
133
166
|
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* A namespace for private module data.
|
|
137
|
-
*/
|
|
138
|
-
var Private;
|
|
139
|
-
(function (Private) {
|
|
140
|
-
/**
|
|
141
|
-
* The JupyterLab plugin schema key for the setting editor
|
|
142
|
-
* icon class of a plugin.
|
|
143
|
-
*/
|
|
144
|
-
const ICON_KEY = 'jupyter.lab.setting-icon';
|
|
145
|
-
/**
|
|
146
|
-
* The JupyterLab plugin schema key for the setting editor
|
|
147
|
-
* icon class of a plugin.
|
|
148
|
-
*/
|
|
149
|
-
const ICON_CLASS_KEY = 'jupyter.lab.setting-icon-class';
|
|
150
|
-
/**
|
|
151
|
-
* The JupyterLab plugin schema key for the setting editor
|
|
152
|
-
* icon label of a plugin.
|
|
153
|
-
*/
|
|
154
|
-
const ICON_LABEL_KEY = 'jupyter.lab.setting-icon-label';
|
|
155
167
|
/**
|
|
156
168
|
* Check the plugin for a rendering hint's value.
|
|
157
169
|
*
|
|
@@ -162,7 +174,7 @@ var Private;
|
|
|
162
174
|
* 2. Data set by the plugin author as a schema default.
|
|
163
175
|
* 3. Data set by the plugin author as a top-level key of the schema.
|
|
164
176
|
*/
|
|
165
|
-
|
|
177
|
+
getHint(key, registry, plugin) {
|
|
166
178
|
// First, give priority to checking if the hint exists in the user data.
|
|
167
179
|
let hint = plugin.data.user[key];
|
|
168
180
|
// Second, check to see if the hint exists in composite data, which folds
|
|
@@ -182,38 +194,162 @@ var Private;
|
|
|
182
194
|
return typeof hint === 'string' ? hint : '';
|
|
183
195
|
}
|
|
184
196
|
/**
|
|
185
|
-
*
|
|
197
|
+
* Function to recursively filter properties that match search results.
|
|
198
|
+
* @param filter - Function to filter based on search results
|
|
199
|
+
* @param props - Schema properties being filtered
|
|
200
|
+
* @param definitions - Definitions to use for filling in references in properties
|
|
201
|
+
* @param ref - Reference to a definition
|
|
202
|
+
* @returns - String array of properties that match the search results.
|
|
186
203
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
204
|
+
getFilterString(filter, props, definitions, ref) {
|
|
205
|
+
var _a;
|
|
206
|
+
// If properties given are references, populate properties
|
|
207
|
+
// with corresponding definition.
|
|
208
|
+
if (ref && definitions) {
|
|
209
|
+
ref = ref.replace('#/definitions/', '');
|
|
210
|
+
props = (_a = definitions[ref]) !== null && _a !== void 0 ? _a : {};
|
|
211
|
+
}
|
|
212
|
+
// If given properties are an object, advance into the properties
|
|
213
|
+
// for that object instead.
|
|
214
|
+
if (props.properties) {
|
|
215
|
+
props = props.properties;
|
|
216
|
+
// If given properties are an array, advance into the properties
|
|
217
|
+
// for the items instead.
|
|
218
|
+
}
|
|
219
|
+
else if (props.items) {
|
|
220
|
+
props = props.items;
|
|
221
|
+
// Otherwise, you've reached the base case and don't need to check for matching properties
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
return [];
|
|
225
|
+
}
|
|
226
|
+
// If reference found, recurse
|
|
227
|
+
if (props['$ref']) {
|
|
228
|
+
return this.getFilterString(filter, props, definitions, props['$ref']);
|
|
229
|
+
}
|
|
230
|
+
// Make sure props is non-empty before calling reduce
|
|
231
|
+
if (Object.keys(props).length === 0) {
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
// Iterate through the properties and check for titles / descriptions that match search.
|
|
235
|
+
return Object.keys(props).reduce((acc, value) => {
|
|
236
|
+
var _a, _b;
|
|
237
|
+
// If this is the base case, check for matching title / description
|
|
238
|
+
const subProps = props[value];
|
|
239
|
+
if (!subProps) {
|
|
240
|
+
if (filter((_a = props.title) !== null && _a !== void 0 ? _a : '')) {
|
|
241
|
+
return props.title;
|
|
242
|
+
}
|
|
243
|
+
if (filter(value)) {
|
|
244
|
+
return value;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// If there are properties in the object, check for title / description
|
|
248
|
+
if (filter((_b = subProps.title) !== null && _b !== void 0 ? _b : '')) {
|
|
249
|
+
acc.push(subProps.title);
|
|
250
|
+
}
|
|
251
|
+
if (filter(value)) {
|
|
252
|
+
acc.push(value);
|
|
253
|
+
}
|
|
254
|
+
// Finally, recurse on the properties left.
|
|
255
|
+
acc.concat(this.getFilterString(filter, subProps, definitions, subProps['$ref']));
|
|
256
|
+
return acc;
|
|
257
|
+
}, []);
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Updates the filter when the search bar value changes.
|
|
261
|
+
* @param filter Filter function passed by search bar based on search value.
|
|
262
|
+
*/
|
|
263
|
+
setFilter(filter, query) {
|
|
264
|
+
this._filter = (plugin) => {
|
|
265
|
+
var _a, _b;
|
|
266
|
+
if (filter((_a = plugin.schema.title) !== null && _a !== void 0 ? _a : '')) {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
const filtered = this.getFilterString(filter, (_b = plugin.schema) !== null && _b !== void 0 ? _b : {}, plugin.schema.definitions);
|
|
270
|
+
return filtered;
|
|
271
|
+
};
|
|
272
|
+
this._query = query;
|
|
273
|
+
this._updateFilterSignal.emit(this._filter);
|
|
274
|
+
this.update();
|
|
275
|
+
}
|
|
276
|
+
setError(id, error) {
|
|
277
|
+
if (this._errors[id] !== error) {
|
|
278
|
+
this._errors[id] = error;
|
|
279
|
+
this.update();
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
this._errors[id] = error;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
mapPlugins(plugin) {
|
|
286
|
+
var _a, _b, _c, _d;
|
|
287
|
+
const { id, schema, version } = plugin;
|
|
288
|
+
const trans = this.translator.load('jupyterlab');
|
|
289
|
+
const title = typeof schema.title === 'string' ? trans._p('schema', schema.title) : id;
|
|
290
|
+
const highlightedTitleIndices = StringExt.matchSumOfSquares(title.toLocaleLowerCase(), (_b = (_a = this._query) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) !== null && _b !== void 0 ? _b : '');
|
|
291
|
+
const hightlightedTitle = StringExt.highlight(title, (_c = highlightedTitleIndices === null || highlightedTitleIndices === void 0 ? void 0 : highlightedTitleIndices.indices) !== null && _c !== void 0 ? _c : [], chunk => {
|
|
292
|
+
return React.createElement("mark", null, chunk);
|
|
293
|
+
});
|
|
294
|
+
const description = typeof schema.description === 'string'
|
|
295
|
+
? trans._p('schema', schema.description)
|
|
296
|
+
: '';
|
|
297
|
+
const itemTitle = `${description}\n${id}\n${version}`;
|
|
298
|
+
const icon = this.getHint(ICON_KEY, this.registry, plugin);
|
|
299
|
+
const iconClass = this.getHint(ICON_CLASS_KEY, this.registry, plugin);
|
|
300
|
+
const iconTitle = this.getHint(ICON_LABEL_KEY, this.registry, plugin);
|
|
301
|
+
const filteredProperties = (_d = this._filter(plugin)) === null || _d === void 0 ? void 0 : _d.map(fieldValue => {
|
|
302
|
+
var _a, _b, _c;
|
|
303
|
+
const highlightedIndices = StringExt.matchSumOfSquares(fieldValue.toLocaleLowerCase(), (_b = (_a = this._query) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) !== null && _b !== void 0 ? _b : '');
|
|
304
|
+
const highlighted = StringExt.highlight(fieldValue, (_c = highlightedIndices === null || highlightedIndices === void 0 ? void 0 : highlightedIndices.indices) !== null && _c !== void 0 ? _c : [], chunk => {
|
|
305
|
+
return React.createElement("mark", null, chunk);
|
|
306
|
+
});
|
|
307
|
+
return React.createElement("li", { key: `${id}-${fieldValue}` },
|
|
308
|
+
" ",
|
|
309
|
+
highlighted,
|
|
310
|
+
" ");
|
|
196
311
|
});
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
:
|
|
202
|
-
const description = typeof schema.description === 'string'
|
|
203
|
-
? trans._p('schema', schema.description)
|
|
204
|
-
: '';
|
|
205
|
-
const itemTitle = `${description}\n${id}\n${version}`;
|
|
206
|
-
const icon = getHint(ICON_KEY, registry, plugin);
|
|
207
|
-
const iconClass = getHint(ICON_CLASS_KEY, registry, plugin);
|
|
208
|
-
const iconTitle = getHint(ICON_LABEL_KEY, registry, plugin);
|
|
209
|
-
return (React.createElement("li", { className: id === selection ? 'jp-mod-selected' : '', "data-id": id, key: id, title: itemTitle },
|
|
312
|
+
return (React.createElement("div", { onClick: this._evtMousedown, className: `${id === this.selection
|
|
313
|
+
? 'jp-mod-selected jp-PluginList-entry'
|
|
314
|
+
: 'jp-PluginList-entry'} ${this._errors[id] ? 'jp-ErrorPlugin' : ''}`, "data-id": id, key: id, title: itemTitle },
|
|
315
|
+
React.createElement("div", { className: "jp-PluginList-entry-label", role: "tab" },
|
|
316
|
+
React.createElement("div", { className: "jp-SelectedIndicator" }),
|
|
210
317
|
React.createElement(LabIcon.resolveReact, { icon: icon || (iconClass ? undefined : settingsIcon), iconClass: classes(iconClass, 'jp-Icon'), title: iconTitle, tag: "span", stylesheet: "settingsEditor" }),
|
|
211
|
-
React.createElement("span",
|
|
318
|
+
React.createElement("span", { className: "jp-PluginList-entry-label-text" }, hightlightedTitle)),
|
|
319
|
+
React.createElement("ul", null, filteredProperties)));
|
|
320
|
+
}
|
|
321
|
+
render() {
|
|
322
|
+
const trans = this.translator.load('jupyterlab');
|
|
323
|
+
// Filter all plugins based on search value before displaying list.
|
|
324
|
+
const allPlugins = this._allPlugins.filter(plugin => {
|
|
325
|
+
const filtered = this._filter(plugin);
|
|
326
|
+
return filtered === null || filtered.length > 0;
|
|
327
|
+
});
|
|
328
|
+
const modifiedPlugins = allPlugins.filter(plugin => {
|
|
329
|
+
var _a;
|
|
330
|
+
return (_a = this._settings[plugin.id]) === null || _a === void 0 ? void 0 : _a.isModified;
|
|
212
331
|
});
|
|
213
|
-
|
|
214
|
-
|
|
332
|
+
const modifiedItems = modifiedPlugins.map(this.mapPlugins);
|
|
333
|
+
const otherItems = allPlugins
|
|
334
|
+
.filter(plugin => {
|
|
335
|
+
return !modifiedPlugins.includes(plugin);
|
|
336
|
+
})
|
|
337
|
+
.map(this.mapPlugins);
|
|
338
|
+
return (React.createElement("div", { className: "jp-PluginList-wrapper" },
|
|
339
|
+
React.createElement(FilterBox, { updateFilter: this.setFilter, useFuzzyFilter: false, placeholder: trans.__('Search…'), forceRefresh: false, caseSensitive: false, initialQuery: this._query }),
|
|
340
|
+
modifiedItems.length > 0 && (React.createElement("div", null,
|
|
341
|
+
React.createElement("h1", { className: "jp-PluginList-header" }, trans.__('Modified')),
|
|
342
|
+
React.createElement("ul", null, modifiedItems))),
|
|
343
|
+
otherItems.length > 0 && (React.createElement("div", null,
|
|
344
|
+
React.createElement("h1", { className: "jp-PluginList-header" }, trans.__('Settings')),
|
|
345
|
+
React.createElement("ul", null, otherItems))),
|
|
346
|
+
modifiedItems.length === 0 && otherItems.length === 0 && (React.createElement("p", { className: "jp-PluginList-noResults" }, trans.__('No items match your search.')))));
|
|
215
347
|
}
|
|
216
|
-
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* A namespace for `PluginList` statics.
|
|
351
|
+
*/
|
|
352
|
+
(function (PluginList) {
|
|
217
353
|
/**
|
|
218
354
|
* Sort a list of plugins by title and ID.
|
|
219
355
|
*/
|
|
@@ -224,5 +360,6 @@ var Private;
|
|
|
224
360
|
return (a.schema.title || a.id).localeCompare(b.schema.title || b.id);
|
|
225
361
|
});
|
|
226
362
|
}
|
|
227
|
-
|
|
363
|
+
PluginList.sortPlugins = sortPlugins;
|
|
364
|
+
})(PluginList || (PluginList = {}));
|
|
228
365
|
//# sourceMappingURL=pluginlist.js.map
|
package/lib/pluginlist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginlist.js","sourceRoot":"","sources":["../src/pluginlist.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pluginlist.js","sourceRoot":"","sources":["../src/pluginlist.tsx"],"names":[],"mappings":"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"}
|