@jupyterlab/apputils-extension 4.0.0-alpha.8 → 4.0.0-beta.0
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/announcements.d.ts +2 -0
- package/lib/announcements.js +227 -0
- package/lib/announcements.js.map +1 -0
- package/lib/index.js +44 -11
- package/lib/index.js.map +1 -1
- package/lib/notificationplugin.d.ts +5 -0
- package/lib/notificationplugin.js +504 -0
- package/lib/notificationplugin.js.map +1 -0
- package/lib/palette.js +3 -3
- package/lib/palette.js.map +1 -1
- package/lib/settingconnector.js +4 -0
- package/lib/settingconnector.js.map +1 -1
- package/lib/statusbarplugin.js +10 -9
- package/lib/statusbarplugin.js.map +1 -1
- package/lib/themesplugins.js +3 -0
- package/lib/themesplugins.js.map +1 -1
- package/lib/toolbarregistryplugin.js +4 -0
- package/lib/toolbarregistryplugin.js.map +1 -1
- package/lib/workspacesplugin.js +6 -6
- package/lib/workspacesplugin.js.map +1 -1
- package/package.json +27 -23
- package/schema/notification.json +48 -0
- package/schema/palette.json +2 -0
- package/schema/sanitizer.json +25 -0
- package/src/announcements.ts +297 -0
- package/src/index.ts +687 -0
- package/src/notificationplugin.tsx +902 -0
- package/src/palette.ts +213 -0
- package/src/settingconnector.ts +63 -0
- package/src/settingsplugin.ts +65 -0
- package/src/statusbarplugin.ts +145 -0
- package/src/themesplugins.ts +266 -0
- package/src/toolbarregistryplugin.ts +29 -0
- package/src/workspacesplugin.ts +306 -0
- package/style/base.css +1 -1
- package/style/notification.css +227 -0
- package/style/redirect.css +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusbarplugin.js","sourceRoot":"","sources":["../src/statusbarplugin.ts"],"names":[],"mappings":"AAAA;;;+EAG+E;AAE/E,OAAO,EACL,SAAS,EAGV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAElB,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"statusbarplugin.js","sourceRoot":"","sources":["../src/statusbarplugin.ts"],"names":[],"mappings":"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"}
|
package/lib/themesplugins.js
CHANGED
|
@@ -53,6 +53,9 @@ export const themesPlugin = {
|
|
|
53
53
|
});
|
|
54
54
|
commands.addCommand(CommandIDs.changeTheme, {
|
|
55
55
|
label: args => {
|
|
56
|
+
if (args.theme === undefined) {
|
|
57
|
+
return trans.__('Switch to the provided `theme`.');
|
|
58
|
+
}
|
|
56
59
|
const theme = args['theme'];
|
|
57
60
|
const displayName = manager.getDisplayName(theme);
|
|
58
61
|
return args['isPalette']
|
package/lib/themesplugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themesplugins.js","sourceRoot":"","sources":["../src/themesplugins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"themesplugins.js","sourceRoot":"","sources":["../src/themesplugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbarregistryplugin.js","sourceRoot":"","sources":["../src/toolbarregistryplugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolbarregistryplugin.js","sourceRoot":"","sources":["../src/toolbarregistryplugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAkD;IAC5E,EAAE,EAAE,iDAAiD;IACrD,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,CAAC,GAAoB,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC;YACzC,cAAc,EAAE,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC;SACnD,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC"}
|
package/lib/workspacesplugin.js
CHANGED
|
@@ -4,7 +4,7 @@ import { IRouter, JupyterFrontEnd } from '@jupyterlab/application';
|
|
|
4
4
|
import { Dialog, IWindowResolver, showDialog } from '@jupyterlab/apputils';
|
|
5
5
|
import { URLExt } from '@jupyterlab/coreutils';
|
|
6
6
|
import { ABCWidgetFactory, DocumentWidget } from '@jupyterlab/docregistry';
|
|
7
|
-
import {
|
|
7
|
+
import { IDefaultFileBrowser } from '@jupyterlab/filebrowser';
|
|
8
8
|
import { IStateDB } from '@jupyterlab/statedb';
|
|
9
9
|
import { ITranslator, nullTranslator } from '@jupyterlab/translation';
|
|
10
10
|
import { Widget } from '@lumino/widgets';
|
|
@@ -24,14 +24,14 @@ export const workspacesPlugin = {
|
|
|
24
24
|
id: '@jupyterlab/apputils-extension:workspaces',
|
|
25
25
|
autoStart: true,
|
|
26
26
|
requires: [
|
|
27
|
-
|
|
27
|
+
IDefaultFileBrowser,
|
|
28
28
|
IWindowResolver,
|
|
29
29
|
IStateDB,
|
|
30
30
|
ITranslator,
|
|
31
31
|
JupyterFrontEnd.IPaths
|
|
32
32
|
],
|
|
33
33
|
optional: [IRouter],
|
|
34
|
-
activate: (app,
|
|
34
|
+
activate: (app, fileBrowser, resolver, state, translator, paths, router) => {
|
|
35
35
|
// The workspace factory creates dummy widgets to load a new workspace.
|
|
36
36
|
const factory = new Private.WorkspaceFactory({
|
|
37
37
|
workspaces: app.serviceManager.workspaces,
|
|
@@ -55,7 +55,7 @@ export const workspacesPlugin = {
|
|
|
55
55
|
label: trans.__('Save Current Workspace As…'),
|
|
56
56
|
execute: async () => {
|
|
57
57
|
const data = app.serviceManager.workspaces.fetch(resolver.name);
|
|
58
|
-
await Private.saveAs(
|
|
58
|
+
await Private.saveAs(fileBrowser, app.serviceManager.contents, data, state, translator);
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
app.commands.addCommand(CommandIDs.saveWorkspace, {
|
|
@@ -65,7 +65,7 @@ export const workspacesPlugin = {
|
|
|
65
65
|
const data = app.serviceManager.workspaces.fetch(resolver.name);
|
|
66
66
|
const lastSave = (await state.fetch(LAST_SAVE_ID));
|
|
67
67
|
if (lastSave === undefined) {
|
|
68
|
-
await Private.saveAs(
|
|
68
|
+
await Private.saveAs(fileBrowser, contents, data, state, translator);
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
71
71
|
await Private.save(lastSave, contents, data, state);
|
|
@@ -193,7 +193,7 @@ var Private;
|
|
|
193
193
|
const result = await showDialog({
|
|
194
194
|
title: trans.__('Save Current Workspace As…'),
|
|
195
195
|
body: new SaveWidget(defaultPath),
|
|
196
|
-
buttons: [Dialog.cancelButton(
|
|
196
|
+
buttons: [Dialog.cancelButton(), saveBtn]
|
|
197
197
|
});
|
|
198
198
|
if (result.button.label === trans.__('Save')) {
|
|
199
199
|
return result.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspacesplugin.js","sourceRoot":"","sources":["../src/workspacesplugin.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EACL,OAAO,EACP,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAEhB,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"workspacesplugin.js","sourceRoot":"","sources":["../src/workspacesplugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/apputils-extension",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-beta.0",
|
|
4
4
|
"description": "JupyterLab - Application Utilities Extension",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"style/*.css",
|
|
29
29
|
"style/images/*.svg",
|
|
30
30
|
"schema/*.json",
|
|
31
|
-
"style/index.js"
|
|
31
|
+
"style/index.js",
|
|
32
|
+
"src/**/*.{ts,tsx}"
|
|
32
33
|
],
|
|
33
34
|
"scripts": {
|
|
34
35
|
"build": "tsc -b",
|
|
@@ -37,30 +38,33 @@
|
|
|
37
38
|
"watch": "tsc -b --watch"
|
|
38
39
|
},
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"@jupyterlab/application": "^4.0.0-
|
|
41
|
-
"@jupyterlab/apputils": "^4.0.0-
|
|
42
|
-
"@jupyterlab/coreutils": "^6.0.0-
|
|
43
|
-
"@jupyterlab/docregistry": "^4.0.0-
|
|
44
|
-
"@jupyterlab/filebrowser": "^4.0.0-
|
|
45
|
-
"@jupyterlab/mainmenu": "^4.0.0-
|
|
46
|
-
"@jupyterlab/
|
|
47
|
-
"@jupyterlab/
|
|
48
|
-
"@jupyterlab/
|
|
49
|
-
"@jupyterlab/
|
|
50
|
-
"@jupyterlab/
|
|
51
|
-
"@jupyterlab/
|
|
52
|
-
"@
|
|
53
|
-
"@lumino/
|
|
54
|
-
"@lumino/
|
|
55
|
-
"@lumino/
|
|
56
|
-
"@lumino/
|
|
57
|
-
"@lumino/
|
|
58
|
-
"
|
|
41
|
+
"@jupyterlab/application": "^4.0.0-beta.0",
|
|
42
|
+
"@jupyterlab/apputils": "^4.0.0-beta.0",
|
|
43
|
+
"@jupyterlab/coreutils": "^6.0.0-beta.0",
|
|
44
|
+
"@jupyterlab/docregistry": "^4.0.0-beta.0",
|
|
45
|
+
"@jupyterlab/filebrowser": "^4.0.0-beta.0",
|
|
46
|
+
"@jupyterlab/mainmenu": "^4.0.0-beta.0",
|
|
47
|
+
"@jupyterlab/rendermime-interfaces": "^3.8.0-beta.0",
|
|
48
|
+
"@jupyterlab/services": "^7.0.0-beta.0",
|
|
49
|
+
"@jupyterlab/settingregistry": "^4.0.0-beta.0",
|
|
50
|
+
"@jupyterlab/statedb": "^4.0.0-beta.0",
|
|
51
|
+
"@jupyterlab/statusbar": "^4.0.0-beta.0",
|
|
52
|
+
"@jupyterlab/translation": "^4.0.0-beta.0",
|
|
53
|
+
"@jupyterlab/ui-components": "^4.0.0-beta.0",
|
|
54
|
+
"@lumino/algorithm": "^2.0.0",
|
|
55
|
+
"@lumino/commands": "^2.0.0",
|
|
56
|
+
"@lumino/coreutils": "^2.0.0",
|
|
57
|
+
"@lumino/disposable": "^2.0.0",
|
|
58
|
+
"@lumino/polling": "^2.0.0",
|
|
59
|
+
"@lumino/widgets": "^2.0.0",
|
|
60
|
+
"react": "^18.2.0",
|
|
61
|
+
"react-dom": "^18.2.0",
|
|
62
|
+
"react-toastify": "^9.0.8"
|
|
59
63
|
},
|
|
60
64
|
"devDependencies": {
|
|
61
65
|
"rimraf": "~3.0.0",
|
|
62
|
-
"typedoc": "~0.
|
|
63
|
-
"typescript": "~
|
|
66
|
+
"typedoc": "~0.23.25",
|
|
67
|
+
"typescript": "~5.0.2"
|
|
64
68
|
},
|
|
65
69
|
"publishConfig": {
|
|
66
70
|
"access": "public"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Notifications",
|
|
3
|
+
"description": "Notifications settings.",
|
|
4
|
+
"jupyter.lab.setting-icon": "ui-components:bell",
|
|
5
|
+
"jupyter.lab.menus": {
|
|
6
|
+
"main": [
|
|
7
|
+
{
|
|
8
|
+
"id": "jp-mainmenu-view",
|
|
9
|
+
"items": [
|
|
10
|
+
{
|
|
11
|
+
"type": "separator",
|
|
12
|
+
"rank": 9.9
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"command": "apputils:display-notifications",
|
|
16
|
+
"rank": 9.92
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"type": "separator",
|
|
20
|
+
"rank": 9.99
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"additionalProperties": false,
|
|
27
|
+
"properties": {
|
|
28
|
+
"checkForUpdates": {
|
|
29
|
+
"title": "Check for JupyterLab updates",
|
|
30
|
+
"description": "Whether to check for newer version of JupyterLab or not. It requires `fechNews` to be `true` to be active. If `true`, it will make a request to a website.",
|
|
31
|
+
"type": "boolean",
|
|
32
|
+
"default": true
|
|
33
|
+
},
|
|
34
|
+
"doNotDisturbMode": {
|
|
35
|
+
"title": "Silence all notifications",
|
|
36
|
+
"description": "If `true`, no toast notifications will be automatically displayed.",
|
|
37
|
+
"type": "boolean",
|
|
38
|
+
"default": false
|
|
39
|
+
},
|
|
40
|
+
"fetchNews": {
|
|
41
|
+
"title": "Fetch official Jupyter news",
|
|
42
|
+
"description": "Whether to fetch news from Jupyter news feed. If `true`, it will make a request to a website.",
|
|
43
|
+
"enum": ["true", "false", "none"],
|
|
44
|
+
"default": "none"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"type": "object"
|
|
48
|
+
}
|
package/schema/palette.json
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "HTML Sanitizer",
|
|
3
|
+
"description": "HTML Sanitizer settings.",
|
|
4
|
+
"jupyter.lab.setting-icon": "ui-components:html5",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"properties": {
|
|
7
|
+
"allowedSchemes": {
|
|
8
|
+
"title": "Allowed URL Scheme",
|
|
9
|
+
"description": "Scheme allowed by the HTML sanitizer.",
|
|
10
|
+
"type": "array",
|
|
11
|
+
"uniqueItems": true,
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"default": ["http", "https", "ftp", "mailto", "tel"]
|
|
16
|
+
},
|
|
17
|
+
"autolink": {
|
|
18
|
+
"type": "boolean",
|
|
19
|
+
"title": "Autolink URL replacement",
|
|
20
|
+
"description": "Whether to replace URLs with links or not.",
|
|
21
|
+
"default": true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"type": "object"
|
|
25
|
+
}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Jupyter Development Team.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
JupyterFrontEnd,
|
|
8
|
+
JupyterFrontEndPlugin
|
|
9
|
+
} from '@jupyterlab/application';
|
|
10
|
+
import { Notification } from '@jupyterlab/apputils';
|
|
11
|
+
import { URLExt } from '@jupyterlab/coreutils';
|
|
12
|
+
import { ConfigSection, ServerConnection } from '@jupyterlab/services';
|
|
13
|
+
import { ISettingRegistry } from '@jupyterlab/settingregistry';
|
|
14
|
+
import { ITranslator, nullTranslator } from '@jupyterlab/translation';
|
|
15
|
+
|
|
16
|
+
const COMMAND_HELP_OPEN = 'help:open';
|
|
17
|
+
const NEWS_API_URL = '/lab/api/news';
|
|
18
|
+
const UPDATE_API_URL = '/lab/api/update';
|
|
19
|
+
const PRIVACY_URL =
|
|
20
|
+
'https://jupyterlab.readthedocs.io/en/latest/privacy_policies.html';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Call the announcement API
|
|
24
|
+
*
|
|
25
|
+
* @param endpoint Endpoint to request
|
|
26
|
+
* @param init Initial values for the request
|
|
27
|
+
* @returns The response body interpreted as JSON
|
|
28
|
+
*/
|
|
29
|
+
async function requestAPI<T>(
|
|
30
|
+
endpoint: string,
|
|
31
|
+
init: RequestInit = {}
|
|
32
|
+
): Promise<T> {
|
|
33
|
+
// Make request to Jupyter API
|
|
34
|
+
const settings = ServerConnection.makeSettings();
|
|
35
|
+
const requestUrl = URLExt.join(settings.baseUrl, endpoint);
|
|
36
|
+
|
|
37
|
+
let response: Response;
|
|
38
|
+
try {
|
|
39
|
+
response = await ServerConnection.makeRequest(requestUrl, init, settings);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
throw new ServerConnection.NetworkError(error);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const data = await response.json();
|
|
45
|
+
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
throw new ServerConnection.ResponseError(response, data.message);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return data;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const announcements: JupyterFrontEndPlugin<void> = {
|
|
54
|
+
id: '@jupyterlab/apputils-extension:announcements',
|
|
55
|
+
autoStart: true,
|
|
56
|
+
optional: [ISettingRegistry, ITranslator],
|
|
57
|
+
activate: (
|
|
58
|
+
app: JupyterFrontEnd,
|
|
59
|
+
settingRegistry: ISettingRegistry | null,
|
|
60
|
+
translator: ITranslator | null
|
|
61
|
+
): void => {
|
|
62
|
+
const CONFIG_SECTION_NAME = announcements.id.replace(/[^\w]/g, '');
|
|
63
|
+
|
|
64
|
+
void Promise.all([
|
|
65
|
+
app.restored,
|
|
66
|
+
settingRegistry?.load('@jupyterlab/apputils-extension:notification') ??
|
|
67
|
+
Promise.resolve(null),
|
|
68
|
+
// Use config instead of state to store independently of the workspace
|
|
69
|
+
// if a news has been displayed or not.
|
|
70
|
+
ConfigSection.create({
|
|
71
|
+
name: CONFIG_SECTION_NAME
|
|
72
|
+
})
|
|
73
|
+
]).then(async ([_, settings, config]) => {
|
|
74
|
+
const trans = (translator ?? nullTranslator).load('jupyterlab');
|
|
75
|
+
|
|
76
|
+
// Store dismiss state
|
|
77
|
+
Notification.manager.changed.connect((manager, change) => {
|
|
78
|
+
if (change.type !== 'removed') {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const { id, tags }: { id?: string; tags?: Array<string> } = (change
|
|
82
|
+
.notification.options.data ?? {}) as any;
|
|
83
|
+
if ((tags ?? []).some(tag => ['news', 'update'].includes(tag)) && id) {
|
|
84
|
+
const update: { [k: string]: INewsState } = {};
|
|
85
|
+
update[id] = { seen: true, dismissed: true };
|
|
86
|
+
config.update(update as any).catch(reason => {
|
|
87
|
+
console.error(
|
|
88
|
+
`Failed to update the announcements config:\n${reason}`
|
|
89
|
+
);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const mustFetchNews = settings?.get('fetchNews').composite as
|
|
95
|
+
| 'true'
|
|
96
|
+
| 'false'
|
|
97
|
+
| 'none';
|
|
98
|
+
if (mustFetchNews === 'none') {
|
|
99
|
+
const notificationId = Notification.emit(
|
|
100
|
+
trans.__(
|
|
101
|
+
'Would you like to receive official Jupyter news?\nPlease read the privacy policy.'
|
|
102
|
+
),
|
|
103
|
+
'default',
|
|
104
|
+
{
|
|
105
|
+
autoClose: false,
|
|
106
|
+
actions: [
|
|
107
|
+
{
|
|
108
|
+
label: trans.__('Open privacy policy'),
|
|
109
|
+
caption: PRIVACY_URL,
|
|
110
|
+
callback: event => {
|
|
111
|
+
event.preventDefault();
|
|
112
|
+
if (app.commands.hasCommand(COMMAND_HELP_OPEN)) {
|
|
113
|
+
void app.commands.execute(COMMAND_HELP_OPEN, {
|
|
114
|
+
text: trans.__('Privacy policies'),
|
|
115
|
+
url: PRIVACY_URL
|
|
116
|
+
});
|
|
117
|
+
} else {
|
|
118
|
+
window.open(PRIVACY_URL, '_blank', 'noreferrer');
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
displayType: 'link'
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: trans.__('Yes'),
|
|
125
|
+
callback: () => {
|
|
126
|
+
Notification.dismiss(notificationId);
|
|
127
|
+
config
|
|
128
|
+
.update({})
|
|
129
|
+
.then(() => fetchNews())
|
|
130
|
+
.catch(reason => {
|
|
131
|
+
console.error(`Failed to get the news:\n${reason}`);
|
|
132
|
+
});
|
|
133
|
+
settings?.set('fetchNews', 'true').catch((reason: any) => {
|
|
134
|
+
console.error(
|
|
135
|
+
`Failed to save setting 'fetchNews':\n${reason}`
|
|
136
|
+
);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
label: trans.__('No'),
|
|
142
|
+
callback: () => {
|
|
143
|
+
Notification.dismiss(notificationId);
|
|
144
|
+
settings?.set('fetchNews', 'false').catch((reason: any) => {
|
|
145
|
+
console.error(
|
|
146
|
+
`Failed to save setting 'fetchNews':\n${reason}`
|
|
147
|
+
);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
} else {
|
|
155
|
+
await fetchNews();
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
async function fetchNews() {
|
|
159
|
+
if ((settings?.get('fetchNews').composite ?? 'false') === 'true') {
|
|
160
|
+
try {
|
|
161
|
+
const response = await requestAPI<{
|
|
162
|
+
news: (Notification.INotification & { link: [string, string] })[];
|
|
163
|
+
}>(NEWS_API_URL);
|
|
164
|
+
|
|
165
|
+
for (const { link, message, type, options } of response.news) {
|
|
166
|
+
// @ts-expect-error data has no index
|
|
167
|
+
const id = options.data!['id'] as string;
|
|
168
|
+
// Filter those notifications
|
|
169
|
+
const state = (config.data[id] as INewsState) ?? {
|
|
170
|
+
seen: false,
|
|
171
|
+
dismissed: false
|
|
172
|
+
};
|
|
173
|
+
if (!state.dismissed) {
|
|
174
|
+
options.actions = [
|
|
175
|
+
{
|
|
176
|
+
label: trans.__('Hide'),
|
|
177
|
+
caption: trans.__('Never show this notification again.'),
|
|
178
|
+
callback: () => {
|
|
179
|
+
const update: { [k: string]: INewsState } = {};
|
|
180
|
+
update[id] = { seen: true, dismissed: true };
|
|
181
|
+
config.update(update as any).catch(reason => {
|
|
182
|
+
console.error(
|
|
183
|
+
`Failed to update the announcements config:\n${reason}`
|
|
184
|
+
);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
];
|
|
189
|
+
if (link?.length === 2) {
|
|
190
|
+
options.actions.push({
|
|
191
|
+
label: link[0],
|
|
192
|
+
caption: link[1],
|
|
193
|
+
callback: () => {
|
|
194
|
+
window.open(link[1], '_blank', 'noreferrer');
|
|
195
|
+
},
|
|
196
|
+
displayType: 'link'
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
if (!state.seen) {
|
|
200
|
+
options.autoClose = 5000;
|
|
201
|
+
const update: { [k: string]: INewsState } = {};
|
|
202
|
+
update[id] = { seen: true };
|
|
203
|
+
config.update(update as any).catch(reason => {
|
|
204
|
+
console.error(
|
|
205
|
+
`Failed to update the announcements config:\n${reason}`
|
|
206
|
+
);
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
Notification.emit(message, type, options);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
} catch (reason) {
|
|
214
|
+
console.log('Failed to get the announcements.', reason);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if ((settings?.get('checkForUpdates').composite as boolean) ?? true) {
|
|
219
|
+
const response = await requestAPI<{
|
|
220
|
+
notification:
|
|
221
|
+
| (Notification.INotification & { link: [string, string] })
|
|
222
|
+
| null;
|
|
223
|
+
}>(UPDATE_API_URL);
|
|
224
|
+
|
|
225
|
+
if (response.notification) {
|
|
226
|
+
const { link, message, type, options } = response.notification;
|
|
227
|
+
// @ts-expect-error data has no index
|
|
228
|
+
const id = options.data!['id'] as string;
|
|
229
|
+
const state = (config.data[id] as INewsState) ?? {
|
|
230
|
+
seen: false,
|
|
231
|
+
dismissed: false
|
|
232
|
+
};
|
|
233
|
+
if (!state.dismissed) {
|
|
234
|
+
let notificationId: string;
|
|
235
|
+
options.actions = [
|
|
236
|
+
{
|
|
237
|
+
label: trans.__('Do not check for updates'),
|
|
238
|
+
caption: trans.__(
|
|
239
|
+
'If pressed, you will not be prompted if a new JupyterLab version is found.'
|
|
240
|
+
),
|
|
241
|
+
callback: () => {
|
|
242
|
+
settings
|
|
243
|
+
?.set('checkForUpdates', false)
|
|
244
|
+
.then(() => {
|
|
245
|
+
Notification.dismiss(notificationId);
|
|
246
|
+
})
|
|
247
|
+
.catch((reason: any) => {
|
|
248
|
+
console.error(
|
|
249
|
+
'Failed to set the `checkForUpdates` setting.',
|
|
250
|
+
reason
|
|
251
|
+
);
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
];
|
|
256
|
+
if (link?.length === 2) {
|
|
257
|
+
options.actions.push({
|
|
258
|
+
label: link[0],
|
|
259
|
+
caption: link[1],
|
|
260
|
+
callback: () => {
|
|
261
|
+
window.open(link[1], '_blank', 'noreferrer');
|
|
262
|
+
},
|
|
263
|
+
displayType: 'link'
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
if (!state.seen) {
|
|
267
|
+
options.autoClose = 5000;
|
|
268
|
+
const update: { [k: string]: INewsState } = {};
|
|
269
|
+
update[id] = { seen: true };
|
|
270
|
+
config.update(update as any).catch(reason => {
|
|
271
|
+
console.error(
|
|
272
|
+
`Failed to update the announcements config:\n${reason}`
|
|
273
|
+
);
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
notificationId = Notification.emit(message, type, options);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* News state
|
|
287
|
+
*/
|
|
288
|
+
interface INewsState {
|
|
289
|
+
/**
|
|
290
|
+
* Whether the news has been seen or not.
|
|
291
|
+
*/
|
|
292
|
+
seen?: boolean;
|
|
293
|
+
/**
|
|
294
|
+
* Whether the user has dismissed the news or not.
|
|
295
|
+
*/
|
|
296
|
+
dismissed?: boolean;
|
|
297
|
+
}
|