@jupyterlab/launcher-extension 3.4.3 → 4.0.0-alpha.11
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 +40 -10
- package/lib/index.js.map +1 -1
- package/package.json +12 -11
- package/schema/plugin.json +23 -1
- package/style/base.css +16 -0
- package/style/index.css +3 -0
- package/style/index.js +3 -0
package/lib/index.js
CHANGED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { ILabShell } from '@jupyterlab/application';
|
|
8
8
|
import { ICommandPalette, MainAreaWidget } from '@jupyterlab/apputils';
|
|
9
|
+
import { IFileBrowserFactory } from '@jupyterlab/filebrowser';
|
|
9
10
|
import { ILauncher, Launcher, LauncherModel } from '@jupyterlab/launcher';
|
|
10
11
|
import { ITranslator } from '@jupyterlab/translation';
|
|
11
|
-
import { launcherIcon } from '@jupyterlab/ui-components';
|
|
12
|
-
import { toArray } from '@lumino/algorithm';
|
|
12
|
+
import { addIcon, launcherIcon } from '@jupyterlab/ui-components';
|
|
13
|
+
import { find, toArray } from '@lumino/algorithm';
|
|
13
14
|
/**
|
|
14
15
|
* The command IDs used by the launcher plugin.
|
|
15
16
|
*/
|
|
@@ -24,7 +25,7 @@ const plugin = {
|
|
|
24
25
|
activate,
|
|
25
26
|
id: '@jupyterlab/launcher-extension:plugin',
|
|
26
27
|
requires: [ITranslator],
|
|
27
|
-
optional: [ILabShell, ICommandPalette],
|
|
28
|
+
optional: [ILabShell, ICommandPalette, IFileBrowserFactory],
|
|
28
29
|
provides: ILauncher,
|
|
29
30
|
autoStart: true
|
|
30
31
|
};
|
|
@@ -35,17 +36,23 @@ export default plugin;
|
|
|
35
36
|
/**
|
|
36
37
|
* Activate the launcher.
|
|
37
38
|
*/
|
|
38
|
-
function activate(app, translator, labShell, palette) {
|
|
39
|
+
function activate(app, translator, labShell, palette, factory) {
|
|
39
40
|
const { commands, shell } = app;
|
|
40
41
|
const trans = translator.load('jupyterlab');
|
|
41
42
|
const model = new LauncherModel();
|
|
42
43
|
commands.addCommand(CommandIDs.create, {
|
|
43
44
|
label: trans.__('New Launcher'),
|
|
45
|
+
icon: args => (args.toolbar ? addIcon : undefined),
|
|
44
46
|
execute: (args) => {
|
|
45
|
-
|
|
47
|
+
var _a, _b;
|
|
48
|
+
const cwd = (_b = (_a = args['cwd']) !== null && _a !== void 0 ? _a : factory === null || factory === void 0 ? void 0 : factory.defaultBrowser.model.path) !== null && _b !== void 0 ? _b : '';
|
|
46
49
|
const id = `launcher-${Private.id++}`;
|
|
47
50
|
const callback = (item) => {
|
|
48
|
-
|
|
51
|
+
// If widget is attached to the main area replace the launcher
|
|
52
|
+
if (find(shell.widgets('main'), w => w === item)) {
|
|
53
|
+
shell.add(item, 'main', { ref: id });
|
|
54
|
+
launcher.dispose();
|
|
55
|
+
}
|
|
49
56
|
};
|
|
50
57
|
const launcher = new Launcher({
|
|
51
58
|
model,
|
|
@@ -71,9 +78,36 @@ function activate(app, translator, labShell, palette) {
|
|
|
71
78
|
main.title.closable = toArray(labShell.widgets('main')).length > 1;
|
|
72
79
|
}, main);
|
|
73
80
|
}
|
|
81
|
+
if (factory) {
|
|
82
|
+
const onPathChanged = (model) => {
|
|
83
|
+
launcher.cwd = model.path;
|
|
84
|
+
};
|
|
85
|
+
factory.defaultBrowser.model.pathChanged.connect(onPathChanged);
|
|
86
|
+
launcher.disposed.connect(() => {
|
|
87
|
+
factory.defaultBrowser.model.pathChanged.disconnect(onPathChanged);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
74
90
|
return main;
|
|
75
91
|
}
|
|
76
92
|
});
|
|
93
|
+
if (labShell) {
|
|
94
|
+
void Promise.all([
|
|
95
|
+
app.restored,
|
|
96
|
+
factory === null || factory === void 0 ? void 0 : factory.defaultBrowser.model.restored
|
|
97
|
+
]).then(() => {
|
|
98
|
+
function maybeCreate() {
|
|
99
|
+
// Create a launcher if there are no open items.
|
|
100
|
+
if (labShell.isEmpty('main')) {
|
|
101
|
+
commands.execute(CommandIDs.create);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
maybeCreate();
|
|
105
|
+
// When layout is modified, create a launcher if there are no open items.
|
|
106
|
+
labShell.layoutModified.connect(() => {
|
|
107
|
+
maybeCreate();
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
77
111
|
if (palette) {
|
|
78
112
|
palette.addItem({
|
|
79
113
|
command: CommandIDs.create,
|
|
@@ -87,10 +121,6 @@ function activate(app, translator, labShell, palette) {
|
|
|
87
121
|
// Get the ref for the current tab of the tabbar which the add button was clicked
|
|
88
122
|
const ref = ((_a = arg.currentTitle) === null || _a === void 0 ? void 0 : _a.owner.id) ||
|
|
89
123
|
arg.titles[arg.titles.length - 1].owner.id;
|
|
90
|
-
if (commands.hasCommand('filebrowser:create-main-launcher')) {
|
|
91
|
-
// If a file browser is defined connect the launcher to it
|
|
92
|
-
return commands.execute('filebrowser:create-main-launcher', { ref });
|
|
93
|
-
}
|
|
94
124
|
return commands.execute(CommandIDs.create, { ref });
|
|
95
125
|
});
|
|
96
126
|
}
|
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,SAAS,EAGV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
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/launcher-extension",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-alpha.11",
|
|
4
4
|
"description": "JupyterLab - Launcher Page Extension",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -37,19 +37,20 @@
|
|
|
37
37
|
"watch": "tsc -b --watch"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@jupyterlab/application": "^
|
|
41
|
-
"@jupyterlab/apputils": "^
|
|
42
|
-
"@jupyterlab/
|
|
43
|
-
"@jupyterlab/
|
|
44
|
-
"@jupyterlab/
|
|
45
|
-
"@
|
|
46
|
-
"@lumino/
|
|
47
|
-
"@lumino/
|
|
40
|
+
"@jupyterlab/application": "^4.0.0-alpha.11",
|
|
41
|
+
"@jupyterlab/apputils": "^4.0.0-alpha.11",
|
|
42
|
+
"@jupyterlab/filebrowser": "^4.0.0-alpha.11",
|
|
43
|
+
"@jupyterlab/launcher": "^4.0.0-alpha.11",
|
|
44
|
+
"@jupyterlab/translation": "^4.0.0-alpha.11",
|
|
45
|
+
"@jupyterlab/ui-components": "^4.0.0-alpha.26",
|
|
46
|
+
"@lumino/algorithm": "^1.9.1",
|
|
47
|
+
"@lumino/coreutils": "^1.12.0",
|
|
48
|
+
"@lumino/widgets": "^1.32.0"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"rimraf": "~3.0.0",
|
|
51
|
-
"typedoc": "~0.
|
|
52
|
-
"typescript": "~4.
|
|
52
|
+
"typedoc": "~0.22.10",
|
|
53
|
+
"typescript": "~4.6.3"
|
|
53
54
|
},
|
|
54
55
|
"publishConfig": {
|
|
55
56
|
"access": "public"
|
package/schema/plugin.json
CHANGED
|
@@ -1,13 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "Launcher",
|
|
3
3
|
"description": "Launcher settings.",
|
|
4
|
+
"jupyter.lab.menus": {
|
|
5
|
+
"main": [
|
|
6
|
+
{
|
|
7
|
+
"id": "jp-mainmenu-file",
|
|
8
|
+
"items": [
|
|
9
|
+
{
|
|
10
|
+
"command": "launcher:create",
|
|
11
|
+
"rank": 0.99
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
4
17
|
"jupyter.lab.shortcuts": [
|
|
5
18
|
{
|
|
6
19
|
"command": "launcher:create",
|
|
7
|
-
"keys": [""],
|
|
20
|
+
"keys": ["Accel Shift L"],
|
|
8
21
|
"selector": "body"
|
|
9
22
|
}
|
|
10
23
|
],
|
|
24
|
+
"jupyter.lab.toolbars": {
|
|
25
|
+
"FileBrowser": [
|
|
26
|
+
{
|
|
27
|
+
"name": "new-launcher",
|
|
28
|
+
"command": "launcher:create",
|
|
29
|
+
"rank": 1
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
11
33
|
"properties": {},
|
|
12
34
|
"additionalProperties": false,
|
|
13
35
|
"type": "object"
|
package/style/base.css
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.jp-FileBrowser-toolbar
|
|
2
|
+
.jp-ToolbarButtonComponent[data-command='launcher:create'] {
|
|
3
|
+
width: 72px;
|
|
4
|
+
background: var(--jp-brand-color1);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.jp-FileBrowser-toolbar
|
|
8
|
+
.jp-ToolbarButtonComponent[data-command='launcher:create']:focus-visible {
|
|
9
|
+
background-color: var(--jp-accept-color-active, var(--jp-brand-color0));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.jp-FileBrowser-toolbar
|
|
13
|
+
.jp-ToolbarButtonComponent[data-command='launcher:create']
|
|
14
|
+
.jp-icon3 {
|
|
15
|
+
fill: var(--jp-layout-color1);
|
|
16
|
+
}
|
package/style/index.css
CHANGED
|
@@ -8,4 +8,7 @@
|
|
|
8
8
|
@import url('~@jupyterlab/ui-components/style/index.css');
|
|
9
9
|
@import url('~@jupyterlab/apputils/style/index.css');
|
|
10
10
|
@import url('~@jupyterlab/application/style/index.css');
|
|
11
|
+
@import url('~@jupyterlab/filebrowser/style/index.css');
|
|
11
12
|
@import url('~@jupyterlab/launcher/style/index.css');
|
|
13
|
+
|
|
14
|
+
@import url('./base.css');
|
package/style/index.js
CHANGED
|
@@ -8,4 +8,7 @@ import '@lumino/widgets/style/index.js';
|
|
|
8
8
|
import '@jupyterlab/ui-components/style/index.js';
|
|
9
9
|
import '@jupyterlab/apputils/style/index.js';
|
|
10
10
|
import '@jupyterlab/application/style/index.js';
|
|
11
|
+
import '@jupyterlab/filebrowser/style/index.js';
|
|
11
12
|
import '@jupyterlab/launcher/style/index.js';
|
|
13
|
+
|
|
14
|
+
import './base.css';
|