@jupyterlab/application 4.3.0-alpha.0 → 4.3.0-alpha.2
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/connectionlost.js +41 -2
- package/lib/connectionlost.js.map +1 -1
- package/lib/frontend.js +2 -0
- package/lib/frontend.js.map +1 -1
- package/package.json +11 -11
- package/src/connectionlost.ts +52 -2
- package/src/frontend.ts +3 -0
- package/style/buttons.css +2 -2
- package/style/core.css +1 -1
- package/style/menus.css +1 -1
- package/style/sidepanel.css +3 -2
- package/style/tabs.css +16 -0
package/lib/connectionlost.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import {
|
|
3
|
+
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
4
4
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
5
5
|
/**
|
|
6
6
|
* A default connection lost handler, which brings up an error dialog.
|
|
@@ -12,6 +12,45 @@ export const ConnectionLost = async function (manager, err, translator) {
|
|
|
12
12
|
const networkMsg = trans.__('A connection to the Jupyter server could not be established.\n' +
|
|
13
13
|
'JupyterLab will continue trying to reconnect.\n' +
|
|
14
14
|
'Check your network connection or Jupyter server configuration.\n');
|
|
15
|
-
|
|
15
|
+
if (!Private.displayConnectionLost) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (Private.serverConnectionLost) {
|
|
19
|
+
// Wait for the pre-existing promise to complete
|
|
20
|
+
await Private.serverConnectionLost;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const dialog = showDialog({
|
|
24
|
+
title: title,
|
|
25
|
+
body: networkMsg,
|
|
26
|
+
checkbox: {
|
|
27
|
+
label: trans.__('Do not show this message again in this session.'),
|
|
28
|
+
caption: trans.__('If checked, you will not see a dialog informing you about an issue with server connection in this session.')
|
|
29
|
+
},
|
|
30
|
+
buttons: [Dialog.okButton({ label: trans.__('Dismiss') })]
|
|
31
|
+
})
|
|
32
|
+
.then(result => {
|
|
33
|
+
if (result.isChecked) {
|
|
34
|
+
Private.displayConnectionLost = false;
|
|
35
|
+
}
|
|
36
|
+
return;
|
|
37
|
+
})
|
|
38
|
+
.catch(error => {
|
|
39
|
+
console.error('An error occurred while showing the dialog: ', error);
|
|
40
|
+
})
|
|
41
|
+
.finally(() => {
|
|
42
|
+
Private.serverConnectionLost = undefined;
|
|
43
|
+
});
|
|
44
|
+
Private.serverConnectionLost = dialog;
|
|
16
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* The namespace for module private data.
|
|
48
|
+
*/
|
|
49
|
+
var Private;
|
|
50
|
+
(function (Private) {
|
|
51
|
+
/**
|
|
52
|
+
* Boolean determining if connection lost dialog is displayed.
|
|
53
|
+
*/
|
|
54
|
+
Private.displayConnectionLost = true;
|
|
55
|
+
})(Private || (Private = {}));
|
|
17
56
|
//# sourceMappingURL=connectionlost.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionlost.js","sourceRoot":"","sources":["../src/connectionlost.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connectionlost.js","sourceRoot":"","sources":["../src/connectionlost.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB,KAAK,WAClD,OAAgC,EAChC,GAAkC,EAClC,UAAwB;IAExB,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CACzB,gEAAgE;QAC9D,iDAAiD;QACjD,kEAAkE,CACrE,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;QAClC,OAAO;KACR;IAED,IAAI,OAAO,CAAC,oBAAoB,EAAE;QAChC,gDAAgD;QAChD,MAAM,OAAO,CAAC,oBAAoB,CAAC;QACnC,OAAO;KACR;IAED,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iDAAiD,CAAC;YAClE,OAAO,EAAE,KAAK,CAAC,EAAE,CACf,4GAA4G,CAC7G;SACF;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;KAC3D,CAAC;SACC,IAAI,CAAC,MAAM,CAAC,EAAE;QACb,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACvC;QACD,OAAO;IACT,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC;AACxC,CAAC,CAAC;AAEF;;GAEG;AACH,IAAU,OAAO,CAWhB;AAXD,WAAU,OAAO;IACf;;OAEG;IACQ,6BAAqB,GAAG,IAAI,CAAC;AAO1C,CAAC,EAXS,OAAO,KAAP,OAAO,QAWhB"}
|
package/lib/frontend.js
CHANGED
|
@@ -25,6 +25,8 @@ export class JupyterFrontEnd extends Application {
|
|
|
25
25
|
constructor(options) {
|
|
26
26
|
super(options);
|
|
27
27
|
this._formatChanged = new Signal(this);
|
|
28
|
+
// Class to scope global Jupyter CSS rules
|
|
29
|
+
options.shell.addClass('jp-ThemedContainer');
|
|
28
30
|
// render context menu/submenus with inline svg icon tweaks
|
|
29
31
|
this.contextMenu = new ContextMenuSvg({
|
|
30
32
|
commands: this.commands,
|
package/lib/frontend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/frontend.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAkBpD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,eAGpB,SAAQ,WAAc;IACtB;;OAEG;IACH,YAAY,OAAoC;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/frontend.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/application",
|
|
3
|
-
"version": "4.3.0-alpha.
|
|
3
|
+
"version": "4.3.0-alpha.2",
|
|
4
4
|
"description": "JupyterLab - Application",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@fortawesome/fontawesome-free": "^5.12.0",
|
|
45
|
-
"@jupyterlab/apputils": "^4.4.0-alpha.
|
|
46
|
-
"@jupyterlab/coreutils": "^6.3.0-alpha.
|
|
47
|
-
"@jupyterlab/docregistry": "^4.3.0-alpha.
|
|
48
|
-
"@jupyterlab/rendermime": "^4.3.0-alpha.
|
|
49
|
-
"@jupyterlab/rendermime-interfaces": "^3.11.0-alpha.
|
|
50
|
-
"@jupyterlab/services": "^7.3.0-alpha.
|
|
51
|
-
"@jupyterlab/statedb": "^4.3.0-alpha.
|
|
52
|
-
"@jupyterlab/translation": "^4.3.0-alpha.
|
|
53
|
-
"@jupyterlab/ui-components": "^4.3.0-alpha.
|
|
45
|
+
"@jupyterlab/apputils": "^4.4.0-alpha.2",
|
|
46
|
+
"@jupyterlab/coreutils": "^6.3.0-alpha.2",
|
|
47
|
+
"@jupyterlab/docregistry": "^4.3.0-alpha.2",
|
|
48
|
+
"@jupyterlab/rendermime": "^4.3.0-alpha.2",
|
|
49
|
+
"@jupyterlab/rendermime-interfaces": "^3.11.0-alpha.2",
|
|
50
|
+
"@jupyterlab/services": "^7.3.0-alpha.2",
|
|
51
|
+
"@jupyterlab/statedb": "^4.3.0-alpha.2",
|
|
52
|
+
"@jupyterlab/translation": "^4.3.0-alpha.2",
|
|
53
|
+
"@jupyterlab/ui-components": "^4.3.0-alpha.2",
|
|
54
54
|
"@lumino/algorithm": "^2.0.1",
|
|
55
55
|
"@lumino/application": "^2.3.1",
|
|
56
56
|
"@lumino/commands": "^2.3.0",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@lumino/widgets": "^2.3.2"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"@jupyterlab/testing": "^4.3.0-alpha.
|
|
66
|
+
"@jupyterlab/testing": "^4.3.0-alpha.2",
|
|
67
67
|
"@types/jest": "^29.2.0",
|
|
68
68
|
"jest": "^29.2.0",
|
|
69
69
|
"rimraf": "~5.0.5",
|
package/src/connectionlost.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
5
5
|
import { ServerConnection, ServiceManager } from '@jupyterlab/services';
|
|
6
6
|
import { ITranslator, nullTranslator } from '@jupyterlab/translation';
|
|
7
7
|
import { IConnectionLost } from './tokens';
|
|
@@ -23,5 +23,55 @@ export const ConnectionLost: IConnectionLost = async function (
|
|
|
23
23
|
'Check your network connection or Jupyter server configuration.\n'
|
|
24
24
|
);
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
if (!Private.displayConnectionLost) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (Private.serverConnectionLost) {
|
|
31
|
+
// Wait for the pre-existing promise to complete
|
|
32
|
+
await Private.serverConnectionLost;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const dialog = showDialog({
|
|
37
|
+
title: title,
|
|
38
|
+
body: networkMsg,
|
|
39
|
+
checkbox: {
|
|
40
|
+
label: trans.__('Do not show this message again in this session.'),
|
|
41
|
+
caption: trans.__(
|
|
42
|
+
'If checked, you will not see a dialog informing you about an issue with server connection in this session.'
|
|
43
|
+
)
|
|
44
|
+
},
|
|
45
|
+
buttons: [Dialog.okButton({ label: trans.__('Dismiss') })]
|
|
46
|
+
})
|
|
47
|
+
.then(result => {
|
|
48
|
+
if (result.isChecked) {
|
|
49
|
+
Private.displayConnectionLost = false;
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
})
|
|
53
|
+
.catch(error => {
|
|
54
|
+
console.error('An error occurred while showing the dialog: ', error);
|
|
55
|
+
})
|
|
56
|
+
.finally(() => {
|
|
57
|
+
Private.serverConnectionLost = undefined;
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
Private.serverConnectionLost = dialog;
|
|
27
61
|
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The namespace for module private data.
|
|
65
|
+
*/
|
|
66
|
+
namespace Private {
|
|
67
|
+
/**
|
|
68
|
+
* Boolean determining if connection lost dialog is displayed.
|
|
69
|
+
*/
|
|
70
|
+
export let displayConnectionLost = true;
|
|
71
|
+
/**
|
|
72
|
+
* The resulting connection lost dialog promise.
|
|
73
|
+
*/
|
|
74
|
+
export let serverConnectionLost:
|
|
75
|
+
| Promise<void | Dialog.IResult<string>>
|
|
76
|
+
| undefined;
|
|
77
|
+
}
|
package/src/frontend.ts
CHANGED
|
@@ -46,6 +46,9 @@ export abstract class JupyterFrontEnd<
|
|
|
46
46
|
constructor(options: JupyterFrontEnd.IOptions<T>) {
|
|
47
47
|
super(options);
|
|
48
48
|
|
|
49
|
+
// Class to scope global Jupyter CSS rules
|
|
50
|
+
options.shell.addClass('jp-ThemedContainer');
|
|
51
|
+
|
|
49
52
|
// render context menu/submenus with inline svg icon tweaks
|
|
50
53
|
this.contextMenu = new ContextMenuSvg({
|
|
51
54
|
commands: this.commands,
|
package/style/buttons.css
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
| Distributed under the terms of the Modified BSD License.
|
|
18
18
|
|----------------------------------------------------------------------------*/
|
|
19
19
|
|
|
20
|
-
button {
|
|
20
|
+
.jp-ThemedContainer button {
|
|
21
21
|
border-radius: var(--jp-border-radius);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
button:focus-visible {
|
|
24
|
+
.jp-ThemedContainer button:focus-visible {
|
|
25
25
|
outline: 1px solid var(--jp-accept-color-active, var(--jp-brand-color1));
|
|
26
26
|
outline-offset: -1px;
|
|
27
27
|
}
|
package/style/core.css
CHANGED
package/style/menus.css
CHANGED
package/style/sidepanel.css
CHANGED
|
@@ -53,8 +53,9 @@
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.jp-SideBar .lm-TabBar-tab:focus-visible {
|
|
56
|
-
|
|
57
|
-
outline
|
|
56
|
+
/* --accent-fill-focus is computed by the jp toolkit to ensure accessibility */
|
|
57
|
+
outline: 2px solid var(--accent-fill-focus, var(--jp-brand-color1));
|
|
58
|
+
outline-offset: -3px;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
.jp-SideBar .lm-TabBar-tab.lm-mod-current::after {
|
package/style/tabs.css
CHANGED
|
@@ -60,6 +60,22 @@
|
|
|
60
60
|
position: relative;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
.lm-DockPanel-tabBar .lm-TabBar-tab:focus-visible,
|
|
64
|
+
.lm-DockPanel-tabBar .lm-TabBar-addButton:focus-visible,
|
|
65
|
+
.lm-TabPanel-tabBar .lm-TabBar-tab:focus-visible {
|
|
66
|
+
border: 1px solid var(--accent-fill-focus);
|
|
67
|
+
border-bottom: none;
|
|
68
|
+
|
|
69
|
+
/* Thicken the border by 1px within the element border */
|
|
70
|
+
box-shadow: 0 0 0 1px inset var(--accent-fill-focus);
|
|
71
|
+
outline: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after,
|
|
75
|
+
.lm-TabPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after {
|
|
76
|
+
border-bottom-color: var(--accent-fill-focus);
|
|
77
|
+
}
|
|
78
|
+
|
|
63
79
|
.lm-DockPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current),
|
|
64
80
|
.lm-TabPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current) {
|
|
65
81
|
background: var(--jp-layout-color1);
|