@jupyterlab/settingeditor 4.0.0-alpha.4 → 4.0.0-alpha.5

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonsettingeditor.js","sourceRoot":"","sources":["../src/jsonsettingeditor.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { Message } from '@lumino/messaging';
7
7
  import { ISignal } from '@lumino/signaling';
8
8
  import { Widget } from '@lumino/widgets';
9
9
  import { RawEditor } from './raweditor';
10
- import { SettingEditor } from './settingeditor';
10
+ import { JsonSettingEditor } from './jsonsettingeditor';
11
11
  /**
12
12
  * An individual plugin settings editor.
13
13
  */
@@ -34,8 +34,8 @@ export declare class PluginEditor extends Widget {
34
34
  /**
35
35
  * The plugin editor layout state.
36
36
  */
37
- get state(): SettingEditor.IPluginLayout;
38
- set state(state: SettingEditor.IPluginLayout);
37
+ get state(): JsonSettingEditor.IPluginLayout;
38
+ set state(state: JsonSettingEditor.IPluginLayout);
39
39
  /**
40
40
  * A signal that emits when editor layout state changes and needs to be saved.
41
41
  */
@@ -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 showDialog({
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 = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"plugineditor.js","sourceRoot":"","sources":["../src/plugineditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugineditor.js","sourceRoot":"","sources":["../src/plugineditor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
+ import { ReactWidget } from '@jupyterlab/apputils';
1
2
  import { ISettingRegistry } from '@jupyterlab/settingregistry';
2
3
  import { ITranslator } from '@jupyterlab/translation';
3
4
  import { Message } from '@lumino/messaging';
4
5
  import { ISignal } from '@lumino/signaling';
5
- import { Widget } from '@lumino/widgets';
6
6
  /**
7
7
  * A list of plugins with editable settings.
8
8
  */
9
- export declare class PluginList extends Widget {
9
+ export declare class PluginList extends ReactWidget {
10
10
  /**
11
11
  * Create a new plugin list.
12
12
  */
@@ -23,30 +23,16 @@ export declare class PluginList extends Widget {
23
23
  * The selection value of the plugin list.
24
24
  */
25
25
  get scrollTop(): number | undefined;
26
+ get hasErrors(): boolean;
26
27
  /**
27
28
  * The selection value of the plugin list.
28
29
  */
29
30
  get selection(): string;
30
31
  set selection(selection: string);
31
- /**
32
- * Handle the DOM events for the widget.
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.
40
- */
41
- handleEvent(event: Event): void;
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;
32
+ get filter(): (item: ISettingRegistry.IPlugin) => boolean;
33
+ set filter(filter: (item: ISettingRegistry.IPlugin) => boolean);
34
+ protected updateModifiedPlugins(): Promise<void>;
35
+ get handleSelectSignal(): ISignal<this, string>;
50
36
  /**
51
37
  * Handle `'update-request'` messages.
52
38
  */
@@ -57,9 +43,29 @@ export declare class PluginList extends Widget {
57
43
  * @param event - The DOM event sent to the widget
58
44
  */
59
45
  private _evtMousedown;
46
+ /**
47
+ * Check the plugin for a rendering hint's value.
48
+ *
49
+ * #### Notes
50
+ * The order of priority for overridden hints is as follows, from most
51
+ * important to least:
52
+ * 1. Data set by the end user in a settings file.
53
+ * 2. Data set by the plugin author as a schema default.
54
+ * 3. Data set by the plugin author as a top-level key of the schema.
55
+ */
56
+ getHint(key: string, registry: ISettingRegistry, plugin: ISettingRegistry.IPlugin): string;
57
+ setFilter(filter: (item: string) => boolean): void;
58
+ setError(id: string, error: boolean): void;
59
+ mapPlugins(plugin: ISettingRegistry.IPlugin): JSX.Element;
60
+ render(): JSX.Element;
60
61
  protected translator: ITranslator;
61
62
  private _changed;
62
- private _confirm;
63
+ private _errors;
64
+ private _filter;
65
+ private _handleSelectSignal;
66
+ private _modifiedPlugins;
67
+ private _allPlugins;
68
+ private _confirm?;
63
69
  private _scrollTop;
64
70
  private _selection;
65
71
  }
@@ -74,19 +80,27 @@ export declare namespace PluginList {
74
80
  /**
75
81
  * A function that allows for asynchronously confirming a selection.
76
82
  *
77
- * #### Notest
83
+ * #### Notes
78
84
  * If the promise returned by the function resolves, then the selection will
79
85
  * succeed and emit an event. If the promise rejects, the selection is not
80
86
  * made.
81
87
  */
82
- confirm: () => Promise<void>;
88
+ confirm?: (id: string) => Promise<void>;
83
89
  /**
84
90
  * The setting registry for the plugin list.
85
91
  */
86
92
  registry: ISettingRegistry;
93
+ /**
94
+ * List of plugins to skip
95
+ */
96
+ toSkip?: string[];
87
97
  /**
88
98
  * The setting registry for the plugin list.
89
99
  */
90
100
  translator?: ITranslator;
91
101
  }
102
+ /**
103
+ * Sort a list of plugins by title and ID.
104
+ */
105
+ function sortPlugins(registry: ISettingRegistry): ISettingRegistry.IPlugin[];
92
106
  }
package/lib/pluginlist.js CHANGED
@@ -2,22 +2,39 @@
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 } from '@jupyterlab/ui-components';
7
8
  import { Signal } from '@lumino/signaling';
8
- import { Widget } from '@lumino/widgets';
9
- import * as React from 'react';
10
- import * as ReactDOM from 'react-dom';
9
+ import React from 'react';
10
+ /**
11
+ * The JupyterLab plugin schema key for the setting editor
12
+ * icon class of a plugin.
13
+ */
14
+ const ICON_KEY = 'jupyter.lab.setting-icon';
15
+ /**
16
+ * The JupyterLab plugin schema key for the setting editor
17
+ * icon class of a plugin.
18
+ */
19
+ const ICON_CLASS_KEY = 'jupyter.lab.setting-icon-class';
20
+ /**
21
+ * The JupyterLab plugin schema key for the setting editor
22
+ * icon label of a plugin.
23
+ */
24
+ const ICON_LABEL_KEY = 'jupyter.lab.setting-icon-label';
11
25
  /**
12
26
  * A list of plugins with editable settings.
13
27
  */
14
- export class PluginList extends Widget {
28
+ export class PluginList extends ReactWidget {
15
29
  /**
16
30
  * Create a new plugin list.
17
31
  */
18
32
  constructor(options) {
19
33
  super();
20
34
  this._changed = new Signal(this);
35
+ this._handleSelectSignal = new Signal(this);
36
+ this._modifiedPlugins = [];
37
+ this._allPlugins = [];
21
38
  this._scrollTop = 0;
22
39
  this._selection = '';
23
40
  this.registry = options.registry;
@@ -27,6 +44,30 @@ export class PluginList extends Widget {
27
44
  this.registry.pluginChanged.connect(() => {
28
45
  this.update();
29
46
  }, this);
47
+ this.mapPlugins = this.mapPlugins.bind(this);
48
+ this._filter = (item) => true;
49
+ this.setFilter = this.setFilter.bind(this);
50
+ this.setError = this.setError.bind(this);
51
+ this._evtMousedown = this._evtMousedown.bind(this);
52
+ this._allPlugins = PluginList.sortPlugins(this.registry).filter(plugin => {
53
+ var _a, _b;
54
+ const { schema } = plugin;
55
+ const deprecated = schema['jupyter.lab.setting-deprecated'] === true;
56
+ const editable = Object.keys(schema.properties || {}).length > 0;
57
+ const extensible = schema.additionalProperties !== false;
58
+ // Filters out a couple of plugins that take too long to load in the new settings editor.
59
+ const correctEditor =
60
+ // If this is the json settings editor, anything is fine
61
+ this._confirm ||
62
+ // If this is the new settings editor, remove context menu / main menu settings.
63
+ (!this._confirm && !((_a = options.toSkip) !== null && _a !== void 0 ? _a : []).includes(plugin.id));
64
+ return (!deprecated &&
65
+ correctEditor &&
66
+ (editable || extensible) &&
67
+ ((_b = this._filter) === null || _b === void 0 ? void 0 : _b.call(this, plugin)));
68
+ });
69
+ this._errors = {};
70
+ this.selection = this._allPlugins[0].id;
30
71
  }
31
72
  /**
32
73
  * A signal emitted when a list user interaction happens.
@@ -41,6 +82,14 @@ export class PluginList extends Widget {
41
82
  var _a;
42
83
  return (_a = this.node.querySelector('ul')) === null || _a === void 0 ? void 0 : _a.scrollTop;
43
84
  }
85
+ get hasErrors() {
86
+ for (const id in this._errors) {
87
+ if (this._errors[id]) {
88
+ return true;
89
+ }
90
+ }
91
+ return false;
92
+ }
44
93
  /**
45
94
  * The selection value of the plugin list.
46
95
  */
@@ -48,56 +97,49 @@ export class PluginList extends Widget {
48
97
  return this._selection;
49
98
  }
50
99
  set selection(selection) {
51
- if (this._selection === selection) {
52
- return;
53
- }
54
100
  this._selection = selection;
55
101
  this.update();
56
102
  }
57
- /**
58
- * Handle the DOM events for the widget.
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
- }
103
+ get filter() {
104
+ return this._filter;
75
105
  }
76
- /**
77
- * Handle `'after-attach'` messages.
78
- */
79
- onAfterAttach(msg) {
80
- this.node.addEventListener('mousedown', this);
81
- this.update();
106
+ set filter(filter) {
107
+ this._filter = filter;
82
108
  }
83
- /**
84
- * Handle `before-detach` messages for the widget.
85
- */
86
- onBeforeDetach(msg) {
87
- this.node.removeEventListener('mousedown', this);
109
+ async updateModifiedPlugins() {
110
+ const modifiedPlugins = [];
111
+ for (const plugin of this._allPlugins) {
112
+ const settings = (await this.registry.load(plugin.id));
113
+ if (settings.isModified) {
114
+ modifiedPlugins.push(plugin);
115
+ }
116
+ }
117
+ if (this._modifiedPlugins.length !== modifiedPlugins.length) {
118
+ this._modifiedPlugins = modifiedPlugins;
119
+ this.update();
120
+ return;
121
+ }
122
+ for (const plugin of modifiedPlugins) {
123
+ if (!this._modifiedPlugins.find(p => p.id === plugin.id)) {
124
+ this._modifiedPlugins = modifiedPlugins;
125
+ this.update();
126
+ return;
127
+ }
128
+ }
129
+ }
130
+ get handleSelectSignal() {
131
+ return this._handleSelectSignal;
88
132
  }
89
133
  /**
90
134
  * Handle `'update-request'` messages.
91
135
  */
92
136
  onUpdateRequest(msg) {
93
- const { node, registry } = this;
94
- const selection = this._selection;
95
- const translation = this.translator;
96
- Private.populateList(registry, selection, node, translation);
97
- const ul = node.querySelector('ul');
137
+ void this.updateModifiedPlugins();
138
+ const ul = this.node.querySelector('ul');
98
139
  if (ul && this._scrollTop !== undefined) {
99
140
  ul.scrollTop = this._scrollTop;
100
141
  }
142
+ super.onUpdateRequest(msg);
101
143
  }
102
144
  /**
103
145
  * Handle the `'mousedown'` event for the plugin list.
@@ -105,53 +147,30 @@ export class PluginList extends Widget {
105
147
  * @param event - The DOM event sent to the widget
106
148
  */
107
149
  _evtMousedown(event) {
108
- event.preventDefault();
109
- let target = event.target;
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
- }
150
+ const target = event.currentTarget;
151
+ const id = target.getAttribute('data-id');
120
152
  if (!id) {
121
153
  return;
122
154
  }
123
- this._confirm()
124
- .then(() => {
155
+ if (this._confirm) {
156
+ this._confirm(id)
157
+ .then(() => {
158
+ this.selection = id;
159
+ this._changed.emit(undefined);
160
+ this.update();
161
+ })
162
+ .catch(() => {
163
+ /* no op */
164
+ });
165
+ }
166
+ else {
125
167
  this._scrollTop = this.scrollTop;
126
168
  this._selection = id;
169
+ this._handleSelectSignal.emit(id);
127
170
  this._changed.emit(undefined);
128
171
  this.update();
129
- })
130
- .catch(() => {
131
- /* no op */
132
- });
172
+ }
133
173
  }
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
174
  /**
156
175
  * Check the plugin for a rendering hint's value.
157
176
  *
@@ -162,7 +181,7 @@ var Private;
162
181
  * 2. Data set by the plugin author as a schema default.
163
182
  * 3. Data set by the plugin author as a top-level key of the schema.
164
183
  */
165
- function getHint(key, registry, plugin) {
184
+ getHint(key, registry, plugin) {
166
185
  // First, give priority to checking if the hint exists in the user data.
167
186
  let hint = plugin.data.user[key];
168
187
  // Second, check to see if the hint exists in composite data, which folds
@@ -181,39 +200,61 @@ var Private;
181
200
  }
182
201
  return typeof hint === 'string' ? hint : '';
183
202
  }
184
- /**
185
- * Populate the plugin list.
186
- */
187
- function populateList(registry, selection, node, translator) {
188
- translator = translator || nullTranslator;
189
- const trans = translator.load('jupyterlab');
190
- const plugins = sortPlugins(registry).filter(plugin => {
191
- const { schema } = plugin;
192
- const deprecated = schema['jupyter.lab.setting-deprecated'] === true;
193
- const editable = Object.keys(schema.properties || {}).length > 0;
194
- const extensible = schema.additionalProperties !== false;
195
- return !deprecated && (editable || extensible);
196
- });
197
- const items = plugins.map(plugin => {
198
- const { id, schema, version } = plugin;
199
- const title = typeof schema.title === 'string'
200
- ? trans._p('schema', schema.title)
201
- : id;
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 },
210
- React.createElement(LabIcon.resolveReact, { icon: icon || (iconClass ? undefined : settingsIcon), iconClass: classes(iconClass, 'jp-Icon'), title: iconTitle, tag: "span", stylesheet: "settingsEditor" }),
211
- React.createElement("span", null, title)));
212
- });
213
- ReactDOM.unmountComponentAtNode(node);
214
- ReactDOM.render(React.createElement("ul", null, items), node);
203
+ setFilter(filter) {
204
+ this._filter = (value) => {
205
+ var _a, _b;
206
+ return filter((_b = (_a = value.schema.title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '');
207
+ };
208
+ this.update();
215
209
  }
216
- Private.populateList = populateList;
210
+ setError(id, error) {
211
+ if (this._errors[id] !== error) {
212
+ this._errors[id] = error;
213
+ this.update();
214
+ }
215
+ else {
216
+ this._errors[id] = error;
217
+ }
218
+ }
219
+ mapPlugins(plugin) {
220
+ const { id, schema, version } = plugin;
221
+ const trans = this.translator.load('jupyterlab');
222
+ const title = typeof schema.title === 'string' ? trans._p('schema', schema.title) : id;
223
+ const description = typeof schema.description === 'string'
224
+ ? trans._p('schema', schema.description)
225
+ : '';
226
+ const itemTitle = `${description}\n${id}\n${version}`;
227
+ const icon = this.getHint(ICON_KEY, this.registry, plugin);
228
+ const iconClass = this.getHint(ICON_CLASS_KEY, this.registry, plugin);
229
+ const iconTitle = this.getHint(ICON_LABEL_KEY, this.registry, plugin);
230
+ return (React.createElement("button", { onClick: this._evtMousedown, className: `${id === this.selection
231
+ ? 'jp-mod-selected jp-PluginList-entry'
232
+ : 'jp-PluginList-entry'} ${this._errors[id] ? 'jp-ErrorPlugin' : ''}`, "data-id": id, key: id, title: itemTitle },
233
+ id === this.selection || this._errors[id] ? (React.createElement("div", { className: "jp-SelectedIndicator" })) : null,
234
+ React.createElement(LabIcon.resolveReact, { icon: icon || (iconClass ? undefined : settingsIcon), iconClass: classes(iconClass, 'jp-Icon'), title: iconTitle, tag: "span", stylesheet: "settingsEditor" }),
235
+ React.createElement("span", null, title)));
236
+ }
237
+ render() {
238
+ const trans = this.translator.load('jupyterlab');
239
+ const modifiedItems = this._modifiedPlugins
240
+ .filter(this._filter)
241
+ .map(this.mapPlugins);
242
+ const otherItems = this._allPlugins
243
+ .filter(plugin => !this._modifiedPlugins.includes(plugin) && this._filter(plugin))
244
+ .map(this.mapPlugins);
245
+ return (React.createElement("div", { className: "jp-PluginList-wrapper" },
246
+ React.createElement(FilterBox, { updateFilter: this.setFilter, useFuzzyFilter: true, placeholder: trans.__('Search…'), forceRefresh: false }),
247
+ modifiedItems.length > 0 && (React.createElement("div", null,
248
+ React.createElement("h1", { className: "jp-PluginList-header" }, trans.__('Modified')),
249
+ React.createElement("ul", null, modifiedItems))),
250
+ React.createElement("h1", { className: "jp-PluginList-header" }, trans.__('Settings')),
251
+ React.createElement("ul", null, otherItems)));
252
+ }
253
+ }
254
+ /**
255
+ * A namespace for `PluginList` statics.
256
+ */
257
+ (function (PluginList) {
217
258
  /**
218
259
  * Sort a list of plugins by title and ID.
219
260
  */
@@ -224,5 +265,6 @@ var Private;
224
265
  return (a.schema.title || a.id).localeCompare(b.schema.title || b.id);
225
266
  });
226
267
  }
227
- })(Private || (Private = {}));
268
+ PluginList.sortPlugins = sortPlugins;
269
+ })(PluginList || (PluginList = {}));
228
270
  //# sourceMappingURL=pluginlist.js.map
@@ -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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"}