@jupyterlab/extensionmanager-extension 4.0.0-alpha.13 → 4.0.0-alpha.14
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/index.js +56 -45
- package/lib/index.js.map +1 -1
- package/package.json +7 -7
- package/schema/plugin.json +0 -18
package/lib/index.js
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
* @module extensionmanager-extension
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { ILayoutRestorer } from '@jupyterlab/application';
|
|
8
8
|
import { Dialog, ICommandPalette, showDialog } from '@jupyterlab/apputils';
|
|
9
|
-
import {
|
|
9
|
+
import { ExtensionsPanel, ListModel } from '@jupyterlab/extensionmanager';
|
|
10
10
|
import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
11
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
11
|
+
import { ITranslator, nullTranslator } from '@jupyterlab/translation';
|
|
12
12
|
import { extensionIcon } from '@jupyterlab/ui-components';
|
|
13
13
|
const PLUGIN_ID = '@jupyterlab/extensionmanager-extension:plugin';
|
|
14
14
|
/**
|
|
@@ -25,55 +25,67 @@ var CommandIDs;
|
|
|
25
25
|
const plugin = {
|
|
26
26
|
id: PLUGIN_ID,
|
|
27
27
|
autoStart: true,
|
|
28
|
-
requires: [ISettingRegistry
|
|
29
|
-
optional: [
|
|
30
|
-
activate: async (app, registry, translator,
|
|
28
|
+
requires: [ISettingRegistry],
|
|
29
|
+
optional: [ITranslator, ILayoutRestorer, ICommandPalette],
|
|
30
|
+
activate: async (app, registry, translator, restorer, palette) => {
|
|
31
|
+
const { commands, shell, serviceManager } = app;
|
|
32
|
+
translator = translator !== null && translator !== void 0 ? translator : nullTranslator;
|
|
31
33
|
const trans = translator.load('jupyterlab');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const { commands, serviceManager } = app;
|
|
35
|
-
let view;
|
|
34
|
+
let enabled = false;
|
|
35
|
+
const model = new ListModel(serviceManager, translator);
|
|
36
36
|
const createView = () => {
|
|
37
|
-
const v = new
|
|
37
|
+
const v = new ExtensionsPanel({ model, translator: translator });
|
|
38
38
|
v.id = 'extensionmanager.main-view';
|
|
39
39
|
v.title.icon = extensionIcon;
|
|
40
40
|
v.title.caption = trans.__('Extension Manager');
|
|
41
|
+
v.node.setAttribute('role', 'region');
|
|
42
|
+
v.node.setAttribute('aria-label', trans.__('Extension Manager section'));
|
|
41
43
|
if (restorer) {
|
|
42
44
|
restorer.add(v, v.id);
|
|
43
45
|
}
|
|
46
|
+
shell.add(v, 'left', { rank: 1000 });
|
|
44
47
|
return v;
|
|
45
48
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
view.node.setAttribute('role', 'region');
|
|
49
|
-
view.node.setAttribute('aria-label', trans.__('Extension Manager section'));
|
|
50
|
-
labShell.add(view, 'left', { rank: 1000, type: 'Extension Manager' });
|
|
51
|
-
}
|
|
49
|
+
// Create a view by default, so it can be restored when loading the workspace.
|
|
50
|
+
let view = createView();
|
|
52
51
|
// If the extension is enabled or disabled,
|
|
53
52
|
// add or remove it from the left area.
|
|
54
53
|
Promise.all([app.restored, registry.load(PLUGIN_ID)])
|
|
55
54
|
.then(([, settings]) => {
|
|
55
|
+
model.isDisclaimed = settings.get('disclaimed').composite;
|
|
56
|
+
model.stateChanged.connect(() => {
|
|
57
|
+
if (model.isDisclaimed !==
|
|
58
|
+
settings.get('disclaimed').composite) {
|
|
59
|
+
settings.set('disclaimed', model.isDisclaimed).catch(reason => {
|
|
60
|
+
console.error(`Something went wrong when setting disclaimed.\n${reason}`);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
enabled = settings.get('enabled').composite;
|
|
65
|
+
if (enabled) {
|
|
66
|
+
view = view !== null && view !== void 0 ? view : createView();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
view === null || view === void 0 ? void 0 : view.dispose();
|
|
70
|
+
view = null;
|
|
71
|
+
}
|
|
56
72
|
settings.changed.connect(async () => {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (labShell) {
|
|
68
|
-
labShell.add(view, 'left', {
|
|
69
|
-
rank: 1000,
|
|
70
|
-
type: 'Extension Manager'
|
|
71
|
-
});
|
|
73
|
+
model.isDisclaimed = settings.get('disclaimed').composite;
|
|
74
|
+
enabled = settings.get('enabled').composite;
|
|
75
|
+
app.commands.notifyCommandChanged(CommandIDs.toggle);
|
|
76
|
+
if (enabled) {
|
|
77
|
+
if (view === null || !view.isAttached) {
|
|
78
|
+
const accepted = await Private.showWarning(trans);
|
|
79
|
+
if (!accepted) {
|
|
80
|
+
void settings.set('enabled', false);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
72
83
|
}
|
|
84
|
+
view = view !== null && view !== void 0 ? view : createView();
|
|
73
85
|
}
|
|
74
|
-
else
|
|
75
|
-
|
|
76
|
-
view
|
|
86
|
+
else {
|
|
87
|
+
view === null || view === void 0 ? void 0 : view.dispose();
|
|
88
|
+
view = null;
|
|
77
89
|
}
|
|
78
90
|
});
|
|
79
91
|
})
|
|
@@ -84,10 +96,10 @@ const plugin = {
|
|
|
84
96
|
label: trans.__('Extension Manager'),
|
|
85
97
|
execute: () => {
|
|
86
98
|
if (view) {
|
|
87
|
-
|
|
99
|
+
shell.activateById(view.id);
|
|
88
100
|
}
|
|
89
101
|
},
|
|
90
|
-
isVisible: () => enabled
|
|
102
|
+
isVisible: () => enabled
|
|
91
103
|
});
|
|
92
104
|
commands.addCommand(CommandIDs.toggle, {
|
|
93
105
|
label: trans.__('Enable Extension Manager'),
|
|
@@ -96,13 +108,13 @@ const plugin = {
|
|
|
96
108
|
void registry.set(plugin.id, 'enabled', !enabled);
|
|
97
109
|
}
|
|
98
110
|
},
|
|
99
|
-
isToggled: () => enabled
|
|
100
|
-
isEnabled: () => serviceManager.builder.isAvailable
|
|
111
|
+
isToggled: () => enabled
|
|
101
112
|
});
|
|
102
|
-
const category = trans.__('Extension Manager');
|
|
103
|
-
const command = CommandIDs.toggle;
|
|
104
113
|
if (palette) {
|
|
105
|
-
palette.addItem({
|
|
114
|
+
palette.addItem({
|
|
115
|
+
command: CommandIDs.toggle,
|
|
116
|
+
category: trans.__('Extension Manager')
|
|
117
|
+
});
|
|
106
118
|
}
|
|
107
119
|
}
|
|
108
120
|
};
|
|
@@ -121,7 +133,7 @@ var Private;
|
|
|
121
133
|
* @returns whether the user accepted the dialog.
|
|
122
134
|
*/
|
|
123
135
|
async function showWarning(trans) {
|
|
124
|
-
|
|
136
|
+
const result = await showDialog({
|
|
125
137
|
title: trans.__('Enable Extension Manager?'),
|
|
126
138
|
body: trans.__(`Thanks for trying out JupyterLab's extension manager.
|
|
127
139
|
The JupyterLab development team is excited to have a robust
|
|
@@ -133,9 +145,8 @@ Do you want to continue?`),
|
|
|
133
145
|
Dialog.cancelButton({ label: trans.__('Disable') }),
|
|
134
146
|
Dialog.warnButton({ label: trans.__('Enable') })
|
|
135
147
|
]
|
|
136
|
-
}).then(result => {
|
|
137
|
-
return result.button.accept;
|
|
138
148
|
});
|
|
149
|
+
return result.button.accept;
|
|
139
150
|
}
|
|
140
151
|
Private.showWarning = showWarning;
|
|
141
152
|
})(Private || (Private = {}));
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/extensionmanager-extension",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.14",
|
|
4
4
|
"description": "JupyterLab - Extension Manager Extension",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -38,12 +38,12 @@
|
|
|
38
38
|
"watch": "tsc -b --watch"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@jupyterlab/application": "^4.0.0-alpha.
|
|
42
|
-
"@jupyterlab/apputils": "^4.0.0-alpha.
|
|
43
|
-
"@jupyterlab/extensionmanager": "^4.0.0-alpha.
|
|
44
|
-
"@jupyterlab/settingregistry": "^4.0.0-alpha.
|
|
45
|
-
"@jupyterlab/translation": "^4.0.0-alpha.
|
|
46
|
-
"@jupyterlab/ui-components": "^4.0.0-alpha.
|
|
41
|
+
"@jupyterlab/application": "^4.0.0-alpha.14",
|
|
42
|
+
"@jupyterlab/apputils": "^4.0.0-alpha.14",
|
|
43
|
+
"@jupyterlab/extensionmanager": "^4.0.0-alpha.14",
|
|
44
|
+
"@jupyterlab/settingregistry": "^4.0.0-alpha.14",
|
|
45
|
+
"@jupyterlab/translation": "^4.0.0-alpha.14",
|
|
46
|
+
"@jupyterlab/ui-components": "^4.0.0-alpha.29"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"rimraf": "~3.0.0",
|
package/schema/plugin.json
CHANGED
|
@@ -52,24 +52,6 @@
|
|
|
52
52
|
"description": "Whether the user understand that extensions managed through this interface run arbitrary code that may be dangerous",
|
|
53
53
|
"default": false,
|
|
54
54
|
"type": "boolean"
|
|
55
|
-
},
|
|
56
|
-
"npmRegistry": {
|
|
57
|
-
"title": "NPM Registry",
|
|
58
|
-
"description": "The URI of the NPM registry to use for searching for jupyterlab extensions",
|
|
59
|
-
"default": "https://registry.npmjs.org/-/v1/",
|
|
60
|
-
"type": "string"
|
|
61
|
-
},
|
|
62
|
-
"npmCdn": {
|
|
63
|
-
"title": "NPM CDN",
|
|
64
|
-
"description": "The URI of the CDN to use for fetching full package data",
|
|
65
|
-
"default": "https://unpkg.com",
|
|
66
|
-
"type": "string"
|
|
67
|
-
},
|
|
68
|
-
"enableCdn": {
|
|
69
|
-
"title": "Enable CDN",
|
|
70
|
-
"description": "Enables using the CDN to fetch full package data. Otherwise, the configured NPM registry will be used. Due to a lack of CORS support by NPM registry, only disable if supplying a custom registry",
|
|
71
|
-
"default": true,
|
|
72
|
-
"type": "boolean"
|
|
73
55
|
}
|
|
74
56
|
},
|
|
75
57
|
"additionalProperties": false,
|