@jupyterlab/running 4.3.0-alpha.2 → 4.3.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/index.d.ts +20 -4
- package/lib/index.js +90 -45
- package/lib/index.js.map +1 -1
- package/package.json +6 -5
- package/src/index.tsx +165 -94
- package/style/base.css +17 -64
package/lib/index.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
* @module running
|
|
4
4
|
*/
|
|
5
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
6
|
-
import { IScore, LabIcon, ReactWidget, SidePanel, Toolbar } from '@jupyterlab/ui-components';
|
|
7
5
|
import { IStateDB } from '@jupyterlab/statedb';
|
|
6
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
7
|
+
import { CommandToolbarButton, IScore, LabIcon, ReactWidget, SidePanel, Toolbar, ToolbarButton } from '@jupyterlab/ui-components';
|
|
8
8
|
import { Token } from '@lumino/coreutils';
|
|
9
9
|
import { IDisposable } from '@lumino/disposable';
|
|
10
10
|
import { Message } from '@lumino/messaging';
|
|
@@ -200,8 +200,15 @@ export declare namespace IRunningSessions {
|
|
|
200
200
|
shutdownAll(): void;
|
|
201
201
|
/**
|
|
202
202
|
* List the running models.
|
|
203
|
+
*
|
|
204
|
+
* If the manager supports tree view, it should set the flag
|
|
205
|
+
* {@link supportsMultipleViews}.
|
|
206
|
+
* It must return nested item if mode is `tree`.
|
|
207
|
+
* Otherwise it must return a flat list.
|
|
203
208
|
*/
|
|
204
|
-
running(
|
|
209
|
+
running(options: {
|
|
210
|
+
mode: 'tree' | 'list';
|
|
211
|
+
}): IRunningItem[];
|
|
205
212
|
/**
|
|
206
213
|
* Force a refresh of the running models.
|
|
207
214
|
*/
|
|
@@ -221,11 +228,20 @@ export declare namespace IRunningSessions {
|
|
|
221
228
|
/**
|
|
222
229
|
* A string used as the body text in the shutdown all confirmation dialog.
|
|
223
230
|
*/
|
|
224
|
-
shutdownAllConfirmationText?: string;
|
|
231
|
+
shutdownAllConfirmationText?: string | (() => string);
|
|
225
232
|
/**
|
|
226
233
|
* The icon to show for shutting down an individual item in this section.
|
|
227
234
|
*/
|
|
228
235
|
shutdownItemIcon?: LabIcon;
|
|
236
|
+
/**
|
|
237
|
+
* Used to add arbitrary buttons to this section
|
|
238
|
+
*/
|
|
239
|
+
toolbarButtons?: (ToolbarButton | CommandToolbarButton)[];
|
|
240
|
+
/**
|
|
241
|
+
* Whether the manager supports tree view for its items
|
|
242
|
+
* or only a flat list.
|
|
243
|
+
*/
|
|
244
|
+
supportsMultipleViews?: boolean;
|
|
229
245
|
}
|
|
230
246
|
/**
|
|
231
247
|
* A running item.
|
package/lib/index.js
CHANGED
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
* @module running
|
|
6
6
|
*/
|
|
7
|
+
import { Button, TreeItem, TreeView } from '@jupyter/react-components';
|
|
7
8
|
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
8
9
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
9
|
-
import {
|
|
10
|
+
import { closeIcon, collapseAllIcon, CommandToolbarButton, expandAllIcon, FilterBox, getTreeItemElement, PanelWithToolbar, ReactWidget, refreshIcon, SidePanel, tableRowsIcon, ToolbarButton, treeViewIcon, UseSignal } from '@jupyterlab/ui-components';
|
|
10
11
|
import { Token } from '@lumino/coreutils';
|
|
11
12
|
import { DisposableDelegate } from '@lumino/disposable';
|
|
12
13
|
import { ElementExt } from '@lumino/domutils';
|
|
13
14
|
import { Signal } from '@lumino/signaling';
|
|
14
15
|
import { Panel, Widget } from '@lumino/widgets';
|
|
15
|
-
import React, { isValidElement } from 'react';
|
|
16
|
+
import React, { isValidElement, useCallback } from 'react';
|
|
16
17
|
/**
|
|
17
18
|
* The class name added to a running widget.
|
|
18
19
|
*/
|
|
@@ -29,10 +30,6 @@ const SECTION_CLASS = 'jp-RunningSessions-section';
|
|
|
29
30
|
* The class name added to a section container.
|
|
30
31
|
*/
|
|
31
32
|
const CONTAINER_CLASS = 'jp-RunningSessions-sectionContainer';
|
|
32
|
-
/**
|
|
33
|
-
* The class name added to the running kernel sessions section list.
|
|
34
|
-
*/
|
|
35
|
-
const LIST_CLASS = 'jp-RunningSessions-sectionList';
|
|
36
33
|
/**
|
|
37
34
|
* The class name added to the running sessions items.
|
|
38
35
|
*/
|
|
@@ -53,10 +50,6 @@ const SHUTDOWN_BUTTON_CLASS = 'jp-RunningSessions-itemShutdown';
|
|
|
53
50
|
* The class name added to a running session item shutdown button.
|
|
54
51
|
*/
|
|
55
52
|
const SHUTDOWN_ALL_BUTTON_CLASS = 'jp-RunningSessions-shutdownAll';
|
|
56
|
-
/**
|
|
57
|
-
* The class name added to a collapse/expand carets.
|
|
58
|
-
*/
|
|
59
|
-
const CARET_CLASS = 'jp-RunningSessions-caret';
|
|
60
53
|
/**
|
|
61
54
|
* The class name added to icons.
|
|
62
55
|
*/
|
|
@@ -129,45 +122,44 @@ function Item(props) {
|
|
|
129
122
|
const translator = props.translator || nullTranslator;
|
|
130
123
|
const trans = translator.load('jupyterlab');
|
|
131
124
|
// Handle shutdown requests.
|
|
132
|
-
let stopPropagation = false;
|
|
133
125
|
const shutdownItemIcon = props.shutdownItemIcon || closeIcon;
|
|
134
126
|
const shutdownLabel = (_b = (typeof props.shutdownLabel === 'function'
|
|
135
127
|
? props.shutdownLabel(runningItem)
|
|
136
128
|
: props.shutdownLabel)) !== null && _b !== void 0 ? _b : trans.__('Shut Down');
|
|
137
|
-
const shutdown = () => {
|
|
129
|
+
const shutdown = (event) => {
|
|
138
130
|
var _a;
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
if (!event.defaultPrevented) {
|
|
132
|
+
event.preventDefault();
|
|
133
|
+
(_a = runningItem.shutdown) === null || _a === void 0 ? void 0 : _a.call(runningItem);
|
|
134
|
+
}
|
|
141
135
|
};
|
|
142
136
|
// Materialise getter to avoid triggering it repeatedly
|
|
143
137
|
const children = runningItem.children;
|
|
144
138
|
// Manage collapsed state. Use the shutdown flag in lieu of `stopPropagation`.
|
|
145
139
|
const [collapsed, collapse] = React.useState(false);
|
|
146
140
|
const collapsible = !!(children === null || children === void 0 ? void 0 : children.length);
|
|
147
|
-
const onClick =
|
|
148
|
-
|
|
149
|
-
|
|
141
|
+
const onClick = useCallback((event) => {
|
|
142
|
+
const item = getTreeItemElement(event.target);
|
|
143
|
+
if (event.currentTarget !== item) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (collapsible) {
|
|
147
|
+
collapse(!collapsed);
|
|
148
|
+
}
|
|
149
|
+
}, [collapsible, collapsed]);
|
|
150
150
|
// Listen to signal to collapse from outside
|
|
151
151
|
props.collapseToggled.connect((_emitter, newCollapseState) => collapse(newCollapseState));
|
|
152
152
|
if (runningItem.className) {
|
|
153
153
|
classList.push(runningItem.className);
|
|
154
154
|
}
|
|
155
|
-
if (props.child) {
|
|
156
|
-
classList.push('jp-mod-running-child');
|
|
157
|
-
}
|
|
158
|
-
if (props.child && !children) {
|
|
159
|
-
classList.push('jp-mod-running-leaf');
|
|
160
|
-
}
|
|
161
155
|
return (React.createElement(React.Fragment, null,
|
|
162
|
-
React.createElement("
|
|
163
|
-
React.createElement("
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
React.createElement(
|
|
168
|
-
|
|
169
|
-
runningItem.shutdown && (React.createElement(ToolbarButtonComponent, { className: SHUTDOWN_BUTTON_CLASS, icon: shutdownItemIcon, onClick: shutdown, tooltip: shutdownLabel }))),
|
|
170
|
-
collapsible && !collapsed && (React.createElement(List, { child: true, runningItems: children, shutdownItemIcon: shutdownItemIcon, translator: translator, collapseToggled: props.collapseToggled })))));
|
|
156
|
+
React.createElement(TreeItem, { className: `${classList.join(' ')} jp-TreeItem nested`, onClick: onClick, "data-context": runningItem.context || '', expanded: !collapsed },
|
|
157
|
+
icon ? (typeof icon === 'string' ? (React.createElement("img", { src: icon, className: ITEM_ICON_CLASS, slot: "start" })) : (React.createElement(icon.react, { slot: "start", tag: "span", className: ITEM_ICON_CLASS }))) : undefined,
|
|
158
|
+
React.createElement("span", { className: ITEM_LABEL_CLASS, title: title, onClick: runningItem.open && (() => runningItem.open()) }, runningItem.label()),
|
|
159
|
+
detail && React.createElement("span", { className: ITEM_DETAIL_CLASS }, detail),
|
|
160
|
+
runningItem.shutdown && (React.createElement(Button, { appearance: "stealth", className: SHUTDOWN_BUTTON_CLASS, onClick: shutdown, title: shutdownLabel, slot: "end" },
|
|
161
|
+
React.createElement(shutdownItemIcon.react, { tag: null }))),
|
|
162
|
+
children && (React.createElement(List, { runningItems: children, shutdownItemIcon: shutdownItemIcon, translator: translator, collapseToggled: props.collapseToggled })))));
|
|
171
163
|
}
|
|
172
164
|
function List(props) {
|
|
173
165
|
const filter = props.filter;
|
|
@@ -185,7 +177,7 @@ function List(props) {
|
|
|
185
177
|
})
|
|
186
178
|
.map(({ item }) => item)
|
|
187
179
|
: props.runningItems;
|
|
188
|
-
return (React.createElement(
|
|
180
|
+
return (React.createElement(React.Fragment, null, items.map((item, i) => (React.createElement(Item, { child: props.child, key: i, runningItem: item, shutdownLabel: props.shutdownLabel, shutdownItemIcon: props.shutdownItemIcon, translator: props.translator, collapseToggled: props.collapseToggled })))));
|
|
189
181
|
}
|
|
190
182
|
class FilterWidget extends ReactWidget {
|
|
191
183
|
constructor(translator) {
|
|
@@ -248,6 +240,19 @@ class ListWidget extends ReactWidget {
|
|
|
248
240
|
_options.filterProvider.filterChanged.connect(this._emitUpdate, this);
|
|
249
241
|
}
|
|
250
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Whether the items are displayed as a tree view
|
|
245
|
+
* or a flat list.
|
|
246
|
+
*/
|
|
247
|
+
get mode() {
|
|
248
|
+
return this._mode;
|
|
249
|
+
}
|
|
250
|
+
set mode(v) {
|
|
251
|
+
if (this._mode !== v) {
|
|
252
|
+
this._mode = v;
|
|
253
|
+
this._update.emit();
|
|
254
|
+
}
|
|
255
|
+
}
|
|
251
256
|
dispose() {
|
|
252
257
|
Signal.clearData(this);
|
|
253
258
|
super.dispose();
|
|
@@ -267,10 +272,15 @@ class ListWidget extends ReactWidget {
|
|
|
267
272
|
cached = false;
|
|
268
273
|
}
|
|
269
274
|
else {
|
|
270
|
-
options.runningItems = options.manager.running();
|
|
275
|
+
options.runningItems = options.manager.running({ mode: this.mode });
|
|
276
|
+
}
|
|
277
|
+
const classes = ['jp-TreeView'];
|
|
278
|
+
if (this.mode === 'list') {
|
|
279
|
+
classes.push('jp-mod-flat');
|
|
271
280
|
}
|
|
272
281
|
return (React.createElement("div", { className: CONTAINER_CLASS },
|
|
273
|
-
React.createElement(
|
|
282
|
+
React.createElement(TreeView, { className: classes.join(' ') },
|
|
283
|
+
React.createElement(List, { runningItems: options.runningItems, shutdownLabel: options.manager.shutdownLabel, shutdownItemIcon: options.manager.shutdownItemIcon, filter: (_a = options.filterProvider) === null || _a === void 0 ? void 0 : _a.filter, translator: options.translator, collapseToggled: options.collapseToggled }))));
|
|
274
284
|
}));
|
|
275
285
|
}
|
|
276
286
|
/**
|
|
@@ -310,11 +320,13 @@ class ListWidget extends ReactWidget {
|
|
|
310
320
|
*/
|
|
311
321
|
class Section extends PanelWithToolbar {
|
|
312
322
|
constructor(options) {
|
|
323
|
+
var _a;
|
|
313
324
|
super();
|
|
314
325
|
this._buttons = null;
|
|
315
326
|
this._listView = false;
|
|
316
327
|
this._collapseToggled = new Signal(this);
|
|
317
328
|
this._viewChanged = new Signal(this);
|
|
329
|
+
this._listView = ((_a = options.viewMode) !== null && _a !== void 0 ? _a : 'tree') === 'list';
|
|
318
330
|
this._manager = options.manager;
|
|
319
331
|
this._filterProvider = options.filterProvider;
|
|
320
332
|
const translator = options.translator || nullTranslator;
|
|
@@ -326,15 +338,24 @@ class Section extends PanelWithToolbar {
|
|
|
326
338
|
options.filterProvider.filterChanged.connect(this._onListChanged, this);
|
|
327
339
|
}
|
|
328
340
|
this._updateEmptyClass();
|
|
329
|
-
|
|
341
|
+
const runningItems = options.manager.running({
|
|
342
|
+
mode: options.manager.supportsMultipleViews && !this._listView
|
|
343
|
+
? 'tree'
|
|
344
|
+
: 'list'
|
|
345
|
+
});
|
|
330
346
|
if (options.showToolbar !== false) {
|
|
331
347
|
this._initializeToolbar(runningItems);
|
|
332
348
|
}
|
|
333
|
-
this.
|
|
349
|
+
this._listWidget = new ListWidget({
|
|
334
350
|
runningItems,
|
|
335
351
|
collapseToggled: this._collapseToggled,
|
|
336
352
|
...options
|
|
337
|
-
})
|
|
353
|
+
});
|
|
354
|
+
this._listWidget.mode =
|
|
355
|
+
options.manager.supportsMultipleViews && !this._listView
|
|
356
|
+
? 'tree'
|
|
357
|
+
: 'list';
|
|
358
|
+
this.addWidget(this._listWidget);
|
|
338
359
|
}
|
|
339
360
|
/**
|
|
340
361
|
* Toggle between list and tree view.
|
|
@@ -347,8 +368,12 @@ class Section extends PanelWithToolbar {
|
|
|
347
368
|
switchViewButton.pressed = newState;
|
|
348
369
|
}
|
|
349
370
|
this._collapseToggled.emit(false);
|
|
350
|
-
this.
|
|
371
|
+
if (this._manager.supportsMultipleViews === undefined) {
|
|
372
|
+
this.toggleClass(LIST_VIEW_CLASS, newState);
|
|
373
|
+
}
|
|
351
374
|
this._updateButtons();
|
|
375
|
+
this._listWidget.mode =
|
|
376
|
+
this._manager.supportsMultipleViews && !this._listView ? 'tree' : 'list';
|
|
352
377
|
this._viewChanged.emit({ mode: newState ? 'list' : 'tree' });
|
|
353
378
|
}
|
|
354
379
|
/**
|
|
@@ -368,9 +393,11 @@ class Section extends PanelWithToolbar {
|
|
|
368
393
|
const enabled = runningItems.length > 0;
|
|
369
394
|
const shutdownAllLabel = this._shutdownAllLabel;
|
|
370
395
|
const shutdownTitle = `${shutdownAllLabel}?`;
|
|
371
|
-
const shutdownAllConfirmationText = this._manager.shutdownAllConfirmationText ||
|
|
372
|
-
`${shutdownAllLabel} ${this._manager.name}`;
|
|
373
396
|
const onShutdown = () => {
|
|
397
|
+
var _a;
|
|
398
|
+
const shutdownAllConfirmationText = (_a = (typeof this._manager.shutdownAllConfirmationText === 'function'
|
|
399
|
+
? this._manager.shutdownAllConfirmationText()
|
|
400
|
+
: this._manager.shutdownAllConfirmationText)) !== null && _a !== void 0 ? _a : `${shutdownAllLabel} ${this._manager.name}`;
|
|
374
401
|
void showDialog({
|
|
375
402
|
title: shutdownTitle,
|
|
376
403
|
body: shutdownAllConfirmationText,
|
|
@@ -420,6 +447,10 @@ class Section extends PanelWithToolbar {
|
|
|
420
447
|
// Update buttons once defined and before adding to DOM
|
|
421
448
|
this._updateButtons();
|
|
422
449
|
this._manager.runningChanged.connect(this._updateButtons, this);
|
|
450
|
+
// Add manager-specific buttons
|
|
451
|
+
if (this._manager.toolbarButtons) {
|
|
452
|
+
this._manager.toolbarButtons.forEach(button => this.toolbar.addItem(button instanceof CommandToolbarButton ? button.commandId : button.id, button));
|
|
453
|
+
}
|
|
423
454
|
for (const name of ['collapse-expand', 'switch-view', 'shutdown-all']) {
|
|
424
455
|
this.toolbar.addItem(name, this._buttons[name]);
|
|
425
456
|
}
|
|
@@ -431,7 +462,13 @@ class Section extends PanelWithToolbar {
|
|
|
431
462
|
}
|
|
432
463
|
_updateEmptyClass() {
|
|
433
464
|
if (this._filterProvider) {
|
|
434
|
-
const items = this._manager
|
|
465
|
+
const items = this._manager
|
|
466
|
+
.running({
|
|
467
|
+
mode: this._manager.supportsMultipleViews && !this._listView
|
|
468
|
+
? 'tree'
|
|
469
|
+
: 'list'
|
|
470
|
+
})
|
|
471
|
+
.filter(this._filterProvider.filter);
|
|
435
472
|
const empty = items.length === 0;
|
|
436
473
|
if (empty) {
|
|
437
474
|
this.node.classList.toggle('jp-mod-empty', true);
|
|
@@ -448,9 +485,16 @@ class Section extends PanelWithToolbar {
|
|
|
448
485
|
if (!this._buttons) {
|
|
449
486
|
return;
|
|
450
487
|
}
|
|
451
|
-
let runningItems = this._manager.running(
|
|
488
|
+
let runningItems = this._manager.running({
|
|
489
|
+
mode: this._manager.supportsMultipleViews && !this._listView ? 'tree' : 'list'
|
|
490
|
+
});
|
|
452
491
|
const enabled = runningItems.length > 0;
|
|
453
|
-
const hasNesting =
|
|
492
|
+
const hasNesting =
|
|
493
|
+
// If the flag is undefined fallback to the old behavior
|
|
494
|
+
// @deprecated we should remove the fallback in the next iteration
|
|
495
|
+
this._manager.supportsMultipleViews === undefined
|
|
496
|
+
? runningItems.filter(item => item.children).length !== 0
|
|
497
|
+
: this._manager.supportsMultipleViews;
|
|
454
498
|
const inTreeView = hasNesting && !this._buttons['switch-view'].pressed;
|
|
455
499
|
this._buttons['switch-view'].node.style.display = hasNesting
|
|
456
500
|
? 'flex'
|
|
@@ -731,7 +775,8 @@ export class SearchableSessionsList extends Panel {
|
|
|
731
775
|
manager,
|
|
732
776
|
translator: this._translator,
|
|
733
777
|
showToolbar: false,
|
|
734
|
-
filterProvider: this._filterWidget
|
|
778
|
+
filterProvider: this._filterWidget,
|
|
779
|
+
viewMode: 'list'
|
|
735
780
|
});
|
|
736
781
|
// Do not use tree view in searchable list
|
|
737
782
|
section.toggleListView(true);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/running",
|
|
3
|
-
"version": "4.3.0-
|
|
3
|
+
"version": "4.3.0-beta.0",
|
|
4
4
|
"description": "JupyterLab - Running Sessions Panel",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -36,10 +36,11 @@
|
|
|
36
36
|
"watch": "tsc -b --watch"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@
|
|
40
|
-
"@jupyterlab/
|
|
41
|
-
"@jupyterlab/
|
|
42
|
-
"@jupyterlab/
|
|
39
|
+
"@jupyter/react-components": "^0.16.6",
|
|
40
|
+
"@jupyterlab/apputils": "^4.4.0-beta.0",
|
|
41
|
+
"@jupyterlab/statedb": "^4.3.0-beta.0",
|
|
42
|
+
"@jupyterlab/translation": "^4.3.0-beta.0",
|
|
43
|
+
"@jupyterlab/ui-components": "^4.3.0-beta.0",
|
|
43
44
|
"@lumino/coreutils": "^2.1.2",
|
|
44
45
|
"@lumino/disposable": "^2.1.2",
|
|
45
46
|
"@lumino/domutils": "^2.0.1",
|
package/src/index.tsx
CHANGED
|
@@ -5,19 +5,21 @@
|
|
|
5
5
|
* @module running
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import { Button, TreeItem, TreeView } from '@jupyter/react-components';
|
|
8
9
|
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
10
|
+
import { IStateDB } from '@jupyterlab/statedb';
|
|
9
11
|
import {
|
|
10
12
|
ITranslator,
|
|
11
13
|
nullTranslator,
|
|
12
14
|
TranslationBundle
|
|
13
15
|
} from '@jupyterlab/translation';
|
|
14
16
|
import {
|
|
15
|
-
caretDownIcon,
|
|
16
|
-
caretRightIcon,
|
|
17
17
|
closeIcon,
|
|
18
18
|
collapseAllIcon,
|
|
19
|
+
CommandToolbarButton,
|
|
19
20
|
expandAllIcon,
|
|
20
21
|
FilterBox,
|
|
22
|
+
getTreeItemElement,
|
|
21
23
|
IScore,
|
|
22
24
|
LabIcon,
|
|
23
25
|
PanelWithToolbar,
|
|
@@ -27,18 +29,16 @@ import {
|
|
|
27
29
|
tableRowsIcon,
|
|
28
30
|
Toolbar,
|
|
29
31
|
ToolbarButton,
|
|
30
|
-
ToolbarButtonComponent,
|
|
31
32
|
treeViewIcon,
|
|
32
33
|
UseSignal
|
|
33
34
|
} from '@jupyterlab/ui-components';
|
|
34
|
-
import { IStateDB } from '@jupyterlab/statedb';
|
|
35
35
|
import { Token } from '@lumino/coreutils';
|
|
36
36
|
import { DisposableDelegate, IDisposable } from '@lumino/disposable';
|
|
37
37
|
import { ElementExt } from '@lumino/domutils';
|
|
38
38
|
import { Message } from '@lumino/messaging';
|
|
39
39
|
import { ISignal, Signal } from '@lumino/signaling';
|
|
40
40
|
import { Panel, Widget } from '@lumino/widgets';
|
|
41
|
-
import React, { isValidElement, ReactNode } from 'react';
|
|
41
|
+
import React, { isValidElement, ReactNode, useCallback } from 'react';
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* The class name added to a running widget.
|
|
@@ -60,11 +60,6 @@ const SECTION_CLASS = 'jp-RunningSessions-section';
|
|
|
60
60
|
*/
|
|
61
61
|
const CONTAINER_CLASS = 'jp-RunningSessions-sectionContainer';
|
|
62
62
|
|
|
63
|
-
/**
|
|
64
|
-
* The class name added to the running kernel sessions section list.
|
|
65
|
-
*/
|
|
66
|
-
const LIST_CLASS = 'jp-RunningSessions-sectionList';
|
|
67
|
-
|
|
68
63
|
/**
|
|
69
64
|
* The class name added to the running sessions items.
|
|
70
65
|
*/
|
|
@@ -90,11 +85,6 @@ const SHUTDOWN_BUTTON_CLASS = 'jp-RunningSessions-itemShutdown';
|
|
|
90
85
|
*/
|
|
91
86
|
const SHUTDOWN_ALL_BUTTON_CLASS = 'jp-RunningSessions-shutdownAll';
|
|
92
87
|
|
|
93
|
-
/**
|
|
94
|
-
* The class name added to a collapse/expand carets.
|
|
95
|
-
*/
|
|
96
|
-
const CARET_CLASS = 'jp-RunningSessions-caret';
|
|
97
|
-
|
|
98
88
|
/**
|
|
99
89
|
* The class name added to icons.
|
|
100
90
|
*/
|
|
@@ -213,15 +203,16 @@ function Item(props: {
|
|
|
213
203
|
const trans = translator.load('jupyterlab');
|
|
214
204
|
|
|
215
205
|
// Handle shutdown requests.
|
|
216
|
-
let stopPropagation = false;
|
|
217
206
|
const shutdownItemIcon = props.shutdownItemIcon || closeIcon;
|
|
218
207
|
const shutdownLabel =
|
|
219
208
|
(typeof props.shutdownLabel === 'function'
|
|
220
209
|
? props.shutdownLabel(runningItem)
|
|
221
210
|
: props.shutdownLabel) ?? trans.__('Shut Down');
|
|
222
|
-
const shutdown = () => {
|
|
223
|
-
|
|
224
|
-
|
|
211
|
+
const shutdown = (event: React.MouseEvent) => {
|
|
212
|
+
if (!event.defaultPrevented) {
|
|
213
|
+
event.preventDefault();
|
|
214
|
+
runningItem.shutdown?.();
|
|
215
|
+
}
|
|
225
216
|
};
|
|
226
217
|
|
|
227
218
|
// Materialise getter to avoid triggering it repeatedly
|
|
@@ -230,9 +221,18 @@ function Item(props: {
|
|
|
230
221
|
// Manage collapsed state. Use the shutdown flag in lieu of `stopPropagation`.
|
|
231
222
|
const [collapsed, collapse] = React.useState(false);
|
|
232
223
|
const collapsible = !!children?.length;
|
|
233
|
-
const onClick =
|
|
234
|
-
|
|
235
|
-
|
|
224
|
+
const onClick = useCallback(
|
|
225
|
+
(event: React.MouseEvent) => {
|
|
226
|
+
const item = getTreeItemElement(event.target as HTMLElement);
|
|
227
|
+
if (event.currentTarget !== item) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (collapsible) {
|
|
231
|
+
collapse(!collapsed);
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
[collapsible, collapsed]
|
|
235
|
+
);
|
|
236
236
|
|
|
237
237
|
// Listen to signal to collapse from outside
|
|
238
238
|
props.collapseToggled.connect((_emitter, newCollapseState) =>
|
|
@@ -242,61 +242,50 @@ function Item(props: {
|
|
|
242
242
|
if (runningItem.className) {
|
|
243
243
|
classList.push(runningItem.className);
|
|
244
244
|
}
|
|
245
|
-
if (props.child) {
|
|
246
|
-
classList.push('jp-mod-running-child');
|
|
247
|
-
}
|
|
248
|
-
if (props.child && !children) {
|
|
249
|
-
classList.push('jp-mod-running-leaf');
|
|
250
|
-
}
|
|
251
245
|
|
|
252
246
|
return (
|
|
253
247
|
<>
|
|
254
|
-
<
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
248
|
+
<TreeItem
|
|
249
|
+
className={`${classList.join(' ')} jp-TreeItem nested`}
|
|
250
|
+
onClick={onClick}
|
|
251
|
+
data-context={runningItem.context || ''}
|
|
252
|
+
expanded={!collapsed}
|
|
253
|
+
>
|
|
254
|
+
{icon ? (
|
|
255
|
+
typeof icon === 'string' ? (
|
|
256
|
+
<img src={icon} className={ITEM_ICON_CLASS} slot="start" />
|
|
257
|
+
) : (
|
|
258
|
+
<icon.react slot="start" tag="span" className={ITEM_ICON_CLASS} />
|
|
259
|
+
)
|
|
260
|
+
) : undefined}
|
|
261
|
+
<span
|
|
262
|
+
className={ITEM_LABEL_CLASS}
|
|
263
|
+
title={title}
|
|
264
|
+
onClick={runningItem.open && (() => runningItem.open!())}
|
|
259
265
|
>
|
|
260
|
-
{
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
<icon.react tag="span" className={ITEM_ICON_CLASS} />
|
|
271
|
-
)
|
|
272
|
-
) : undefined}
|
|
273
|
-
<span
|
|
274
|
-
className={ITEM_LABEL_CLASS}
|
|
275
|
-
title={title}
|
|
276
|
-
onClick={runningItem.open && (() => runningItem.open!())}
|
|
266
|
+
{runningItem.label()}
|
|
267
|
+
</span>
|
|
268
|
+
{detail && <span className={ITEM_DETAIL_CLASS}>{detail}</span>}
|
|
269
|
+
{runningItem.shutdown && (
|
|
270
|
+
<Button
|
|
271
|
+
appearance="stealth"
|
|
272
|
+
className={SHUTDOWN_BUTTON_CLASS}
|
|
273
|
+
onClick={shutdown}
|
|
274
|
+
title={shutdownLabel}
|
|
275
|
+
slot="end"
|
|
277
276
|
>
|
|
278
|
-
{
|
|
279
|
-
</
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
<ToolbarButtonComponent
|
|
283
|
-
className={SHUTDOWN_BUTTON_CLASS}
|
|
284
|
-
icon={shutdownItemIcon}
|
|
285
|
-
onClick={shutdown}
|
|
286
|
-
tooltip={shutdownLabel}
|
|
287
|
-
/>
|
|
288
|
-
)}
|
|
289
|
-
</div>
|
|
290
|
-
{collapsible && !collapsed && (
|
|
277
|
+
<shutdownItemIcon.react tag={null} />
|
|
278
|
+
</Button>
|
|
279
|
+
)}
|
|
280
|
+
{children && (
|
|
291
281
|
<List
|
|
292
|
-
child={true}
|
|
293
282
|
runningItems={children!}
|
|
294
283
|
shutdownItemIcon={shutdownItemIcon}
|
|
295
284
|
translator={translator}
|
|
296
285
|
collapseToggled={props.collapseToggled}
|
|
297
286
|
/>
|
|
298
287
|
)}
|
|
299
|
-
</
|
|
288
|
+
</TreeItem>
|
|
300
289
|
</>
|
|
301
290
|
);
|
|
302
291
|
}
|
|
@@ -326,7 +315,7 @@ function List(props: {
|
|
|
326
315
|
.map(({ item }) => item)
|
|
327
316
|
: props.runningItems;
|
|
328
317
|
return (
|
|
329
|
-
|
|
318
|
+
<>
|
|
330
319
|
{items.map((item, i) => (
|
|
331
320
|
<Item
|
|
332
321
|
child={props.child}
|
|
@@ -338,7 +327,7 @@ function List(props: {
|
|
|
338
327
|
collapseToggled={props.collapseToggled}
|
|
339
328
|
/>
|
|
340
329
|
))}
|
|
341
|
-
|
|
330
|
+
</>
|
|
342
331
|
);
|
|
343
332
|
}
|
|
344
333
|
|
|
@@ -415,6 +404,8 @@ class FilterWidget extends ReactWidget implements IFilterProvider {
|
|
|
415
404
|
}
|
|
416
405
|
|
|
417
406
|
class ListWidget extends ReactWidget {
|
|
407
|
+
private _mode: 'tree' | 'list';
|
|
408
|
+
|
|
418
409
|
constructor(
|
|
419
410
|
private _options: {
|
|
420
411
|
manager: IRunningSessions.IManager;
|
|
@@ -431,6 +422,20 @@ class ListWidget extends ReactWidget {
|
|
|
431
422
|
}
|
|
432
423
|
}
|
|
433
424
|
|
|
425
|
+
/**
|
|
426
|
+
* Whether the items are displayed as a tree view
|
|
427
|
+
* or a flat list.
|
|
428
|
+
*/
|
|
429
|
+
get mode(): 'tree' | 'list' {
|
|
430
|
+
return this._mode;
|
|
431
|
+
}
|
|
432
|
+
set mode(v: 'tree' | 'list') {
|
|
433
|
+
if (this._mode !== v) {
|
|
434
|
+
this._mode = v;
|
|
435
|
+
this._update.emit();
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
434
439
|
dispose() {
|
|
435
440
|
Signal.clearData(this);
|
|
436
441
|
super.dispose();
|
|
@@ -452,18 +457,24 @@ class ListWidget extends ReactWidget {
|
|
|
452
457
|
if (cached) {
|
|
453
458
|
cached = false;
|
|
454
459
|
} else {
|
|
455
|
-
options.runningItems = options.manager.running();
|
|
460
|
+
options.runningItems = options.manager.running({ mode: this.mode });
|
|
461
|
+
}
|
|
462
|
+
const classes = ['jp-TreeView'];
|
|
463
|
+
if (this.mode === 'list') {
|
|
464
|
+
classes.push('jp-mod-flat');
|
|
456
465
|
}
|
|
457
466
|
return (
|
|
458
467
|
<div className={CONTAINER_CLASS}>
|
|
459
|
-
<
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
468
|
+
<TreeView className={classes.join(' ')}>
|
|
469
|
+
<List
|
|
470
|
+
runningItems={options.runningItems}
|
|
471
|
+
shutdownLabel={options.manager.shutdownLabel}
|
|
472
|
+
shutdownItemIcon={options.manager.shutdownItemIcon}
|
|
473
|
+
filter={options.filterProvider?.filter}
|
|
474
|
+
translator={options.translator}
|
|
475
|
+
collapseToggled={options.collapseToggled}
|
|
476
|
+
/>
|
|
477
|
+
</TreeView>
|
|
467
478
|
</div>
|
|
468
479
|
);
|
|
469
480
|
}}
|
|
@@ -513,6 +524,7 @@ class ListWidget extends ReactWidget {
|
|
|
513
524
|
class Section extends PanelWithToolbar {
|
|
514
525
|
constructor(options: Section.IOptions) {
|
|
515
526
|
super();
|
|
527
|
+
this._listView = (options.viewMode ?? 'tree') === 'list';
|
|
516
528
|
this._manager = options.manager;
|
|
517
529
|
this._filterProvider = options.filterProvider;
|
|
518
530
|
const translator = options.translator || nullTranslator;
|
|
@@ -527,19 +539,27 @@ class Section extends PanelWithToolbar {
|
|
|
527
539
|
}
|
|
528
540
|
this._updateEmptyClass();
|
|
529
541
|
|
|
530
|
-
|
|
542
|
+
const runningItems = options.manager.running({
|
|
543
|
+
mode:
|
|
544
|
+
options.manager.supportsMultipleViews && !this._listView
|
|
545
|
+
? 'tree'
|
|
546
|
+
: 'list'
|
|
547
|
+
});
|
|
531
548
|
|
|
532
549
|
if (options.showToolbar !== false) {
|
|
533
550
|
this._initializeToolbar(runningItems);
|
|
534
551
|
}
|
|
535
552
|
|
|
536
|
-
this.
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
553
|
+
this._listWidget = new ListWidget({
|
|
554
|
+
runningItems,
|
|
555
|
+
collapseToggled: this._collapseToggled,
|
|
556
|
+
...options
|
|
557
|
+
});
|
|
558
|
+
this._listWidget.mode =
|
|
559
|
+
options.manager.supportsMultipleViews && !this._listView
|
|
560
|
+
? 'tree'
|
|
561
|
+
: 'list';
|
|
562
|
+
this.addWidget(this._listWidget);
|
|
543
563
|
}
|
|
544
564
|
|
|
545
565
|
/**
|
|
@@ -553,8 +573,12 @@ class Section extends PanelWithToolbar {
|
|
|
553
573
|
switchViewButton.pressed = newState;
|
|
554
574
|
}
|
|
555
575
|
this._collapseToggled.emit(false);
|
|
556
|
-
this.
|
|
576
|
+
if (this._manager.supportsMultipleViews === undefined) {
|
|
577
|
+
this.toggleClass(LIST_VIEW_CLASS, newState);
|
|
578
|
+
}
|
|
557
579
|
this._updateButtons();
|
|
580
|
+
this._listWidget.mode =
|
|
581
|
+
this._manager.supportsMultipleViews && !this._listView ? 'tree' : 'list';
|
|
558
582
|
this._viewChanged.emit({ mode: newState ? 'list' : 'tree' });
|
|
559
583
|
}
|
|
560
584
|
|
|
@@ -578,11 +602,14 @@ class Section extends PanelWithToolbar {
|
|
|
578
602
|
|
|
579
603
|
const shutdownAllLabel = this._shutdownAllLabel;
|
|
580
604
|
const shutdownTitle = `${shutdownAllLabel}?`;
|
|
581
|
-
const shutdownAllConfirmationText =
|
|
582
|
-
this._manager.shutdownAllConfirmationText ||
|
|
583
|
-
`${shutdownAllLabel} ${this._manager.name}`;
|
|
584
605
|
|
|
585
606
|
const onShutdown = () => {
|
|
607
|
+
const shutdownAllConfirmationText =
|
|
608
|
+
(typeof this._manager.shutdownAllConfirmationText === 'function'
|
|
609
|
+
? this._manager.shutdownAllConfirmationText()
|
|
610
|
+
: this._manager.shutdownAllConfirmationText) ??
|
|
611
|
+
`${shutdownAllLabel} ${this._manager.name}`;
|
|
612
|
+
|
|
586
613
|
void showDialog({
|
|
587
614
|
title: shutdownTitle,
|
|
588
615
|
body: shutdownAllConfirmationText,
|
|
@@ -637,6 +664,16 @@ class Section extends PanelWithToolbar {
|
|
|
637
664
|
this._updateButtons();
|
|
638
665
|
this._manager.runningChanged.connect(this._updateButtons, this);
|
|
639
666
|
|
|
667
|
+
// Add manager-specific buttons
|
|
668
|
+
if (this._manager.toolbarButtons) {
|
|
669
|
+
this._manager.toolbarButtons.forEach(button =>
|
|
670
|
+
this.toolbar.addItem(
|
|
671
|
+
button instanceof CommandToolbarButton ? button.commandId : button.id,
|
|
672
|
+
button
|
|
673
|
+
)
|
|
674
|
+
);
|
|
675
|
+
}
|
|
676
|
+
|
|
640
677
|
for (const name of ['collapse-expand', 'switch-view', 'shutdown-all']) {
|
|
641
678
|
this.toolbar.addItem(
|
|
642
679
|
name,
|
|
@@ -653,7 +690,14 @@ class Section extends PanelWithToolbar {
|
|
|
653
690
|
|
|
654
691
|
private _updateEmptyClass(): void {
|
|
655
692
|
if (this._filterProvider) {
|
|
656
|
-
const items = this._manager
|
|
693
|
+
const items = this._manager
|
|
694
|
+
.running({
|
|
695
|
+
mode:
|
|
696
|
+
this._manager.supportsMultipleViews && !this._listView
|
|
697
|
+
? 'tree'
|
|
698
|
+
: 'list'
|
|
699
|
+
})
|
|
700
|
+
.filter(this._filterProvider.filter);
|
|
657
701
|
const empty = items.length === 0;
|
|
658
702
|
if (empty) {
|
|
659
703
|
this.node.classList.toggle('jp-mod-empty', true);
|
|
@@ -671,10 +715,18 @@ class Section extends PanelWithToolbar {
|
|
|
671
715
|
if (!this._buttons) {
|
|
672
716
|
return;
|
|
673
717
|
}
|
|
674
|
-
let runningItems = this._manager.running(
|
|
718
|
+
let runningItems = this._manager.running({
|
|
719
|
+
mode:
|
|
720
|
+
this._manager.supportsMultipleViews && !this._listView ? 'tree' : 'list'
|
|
721
|
+
});
|
|
675
722
|
const enabled = runningItems.length > 0;
|
|
676
723
|
|
|
677
|
-
const hasNesting =
|
|
724
|
+
const hasNesting =
|
|
725
|
+
// If the flag is undefined fallback to the old behavior
|
|
726
|
+
// @deprecated we should remove the fallback in the next iteration
|
|
727
|
+
this._manager.supportsMultipleViews === undefined
|
|
728
|
+
? runningItems.filter(item => item.children).length !== 0
|
|
729
|
+
: this._manager.supportsMultipleViews;
|
|
678
730
|
const inTreeView = hasNesting && !this._buttons['switch-view'].pressed;
|
|
679
731
|
|
|
680
732
|
this._buttons['switch-view'].node.style.display = hasNesting
|
|
@@ -696,6 +748,7 @@ class Section extends PanelWithToolbar {
|
|
|
696
748
|
} | null = null;
|
|
697
749
|
private _manager: IRunningSessions.IManager;
|
|
698
750
|
private _listView: boolean = false;
|
|
751
|
+
private _listWidget: ListWidget;
|
|
699
752
|
private _filterProvider?: IFilterProvider;
|
|
700
753
|
private _collapseToggled = new Signal<Section, boolean>(this);
|
|
701
754
|
private _viewChanged = new Signal<Section, Section.IViewState>(this);
|
|
@@ -714,6 +767,7 @@ namespace Section {
|
|
|
714
767
|
showToolbar?: boolean;
|
|
715
768
|
filterProvider?: IFilterProvider;
|
|
716
769
|
translator?: ITranslator;
|
|
770
|
+
viewMode?: 'tree' | 'list';
|
|
717
771
|
}
|
|
718
772
|
/**
|
|
719
773
|
* Information about section view state.
|
|
@@ -1082,7 +1136,8 @@ export class SearchableSessionsList extends Panel {
|
|
|
1082
1136
|
manager,
|
|
1083
1137
|
translator: this._translator,
|
|
1084
1138
|
showToolbar: false,
|
|
1085
|
-
filterProvider: this._filterWidget
|
|
1139
|
+
filterProvider: this._filterWidget,
|
|
1140
|
+
viewMode: 'list'
|
|
1086
1141
|
});
|
|
1087
1142
|
// Do not use tree view in searchable list
|
|
1088
1143
|
section.toggleListView(true);
|
|
@@ -1117,8 +1172,13 @@ export namespace IRunningSessions {
|
|
|
1117
1172
|
|
|
1118
1173
|
/**
|
|
1119
1174
|
* List the running models.
|
|
1175
|
+
*
|
|
1176
|
+
* If the manager supports tree view, it should set the flag
|
|
1177
|
+
* {@link supportsMultipleViews}.
|
|
1178
|
+
* It must return nested item if mode is `tree`.
|
|
1179
|
+
* Otherwise it must return a flat list.
|
|
1120
1180
|
*/
|
|
1121
|
-
running(): IRunningItem[];
|
|
1181
|
+
running(options: { mode: 'tree' | 'list' }): IRunningItem[];
|
|
1122
1182
|
|
|
1123
1183
|
/**
|
|
1124
1184
|
* Force a refresh of the running models.
|
|
@@ -1143,12 +1203,23 @@ export namespace IRunningSessions {
|
|
|
1143
1203
|
/**
|
|
1144
1204
|
* A string used as the body text in the shutdown all confirmation dialog.
|
|
1145
1205
|
*/
|
|
1146
|
-
shutdownAllConfirmationText?: string;
|
|
1206
|
+
shutdownAllConfirmationText?: string | (() => string);
|
|
1147
1207
|
|
|
1148
1208
|
/**
|
|
1149
1209
|
* The icon to show for shutting down an individual item in this section.
|
|
1150
1210
|
*/
|
|
1151
1211
|
shutdownItemIcon?: LabIcon;
|
|
1212
|
+
|
|
1213
|
+
/**
|
|
1214
|
+
* Used to add arbitrary buttons to this section
|
|
1215
|
+
*/
|
|
1216
|
+
toolbarButtons?: (ToolbarButton | CommandToolbarButton)[];
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Whether the manager supports tree view for its items
|
|
1220
|
+
* or only a flat list.
|
|
1221
|
+
*/
|
|
1222
|
+
supportsMultipleViews?: boolean;
|
|
1152
1223
|
}
|
|
1153
1224
|
|
|
1154
1225
|
/**
|
package/style/base.css
CHANGED
|
@@ -3,14 +3,6 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
/*-----------------------------------------------------------------------------
|
|
7
|
-
| Variables
|
|
8
|
-
|----------------------------------------------------------------------------*/
|
|
9
|
-
|
|
10
|
-
:root {
|
|
11
|
-
--jp-private-running-item-height: 24px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
6
|
.jp-RunningSessions {
|
|
15
7
|
display: flex;
|
|
16
8
|
flex-direction: column;
|
|
@@ -45,46 +37,34 @@
|
|
|
45
37
|
padding-left: 14px;
|
|
46
38
|
}
|
|
47
39
|
|
|
48
|
-
.jp-RunningSessions-item {
|
|
49
|
-
display: flex;
|
|
50
|
-
flex-direction: row;
|
|
51
|
-
color: var(--jp-ui-font-color1);
|
|
52
|
-
height: var(--jp-private-running-item-height);
|
|
53
|
-
line-height: var(--jp-private-running-item-height);
|
|
54
|
-
padding: 0 8px;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.jp-RunningSessions-item:hover {
|
|
58
|
-
background-color: var(--jp-layout-color2);
|
|
59
|
-
cursor: pointer;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.jp-mod-running-leaf {
|
|
63
|
-
/** Account for lack of collapser */
|
|
64
|
-
margin-left: 16px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.jp-RunningSessions-sectionContainer > .jp-RunningSessions-sectionList {
|
|
68
|
-
padding-left: 0;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
40
|
.jp-RunningSessions-viewButton[aria-pressed='true'] {
|
|
72
41
|
box-shadow: none;
|
|
73
42
|
}
|
|
74
43
|
|
|
44
|
+
/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
|
|
75
45
|
.jp-mod-running-list-view .jp-RunningSessions-sectionList {
|
|
76
46
|
padding-left: 0;
|
|
77
47
|
}
|
|
78
48
|
|
|
49
|
+
/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
|
|
79
50
|
.jp-mod-running-list-view .jp-mod-running-leaf {
|
|
80
51
|
margin-left: 0;
|
|
81
52
|
}
|
|
82
53
|
|
|
83
|
-
|
|
84
|
-
.jp-mod-running-list-view
|
|
54
|
+
/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
|
|
55
|
+
.jp-mod-running-list-view
|
|
56
|
+
.jp-RunningSessions-item.jp-mod-kernelspec::part(positioning-region),
|
|
57
|
+
.jp-mod-running-list-view
|
|
58
|
+
.jp-RunningSessions-item.jp-mod-kernel::part(positioning-region) {
|
|
85
59
|
display: none;
|
|
86
60
|
}
|
|
87
61
|
|
|
62
|
+
/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */
|
|
63
|
+
.jp-mod-running-list-view
|
|
64
|
+
.jp-RunningSessions-item.jp-mod-kernel-widget::part(content-region) {
|
|
65
|
+
margin-inline-start: -2.6em;
|
|
66
|
+
}
|
|
67
|
+
|
|
88
68
|
.jp-RunningSessions-item.jp-mod-kernelspec,
|
|
89
69
|
.jp-RunningSessions-item.jp-mod-kernel {
|
|
90
70
|
user-select: none;
|
|
@@ -98,10 +78,6 @@
|
|
|
98
78
|
box-shadow: none;
|
|
99
79
|
}
|
|
100
80
|
|
|
101
|
-
.jp-RunningSessions-icon {
|
|
102
|
-
margin: 0 4px;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
81
|
.jp-RunningSessions-toolbar {
|
|
106
82
|
min-width: max-content;
|
|
107
83
|
}
|
|
@@ -130,16 +106,11 @@ span.jp-RunningSessions-icon > svg {
|
|
|
130
106
|
.jp-RunningSessions-itemLabel {
|
|
131
107
|
font-size: var(--jp-ui-font-size1);
|
|
132
108
|
flex: 1 1 55%;
|
|
133
|
-
padding: 0 4px;
|
|
134
109
|
text-overflow: ellipsis;
|
|
135
110
|
overflow: hidden;
|
|
136
111
|
white-space: nowrap;
|
|
137
112
|
}
|
|
138
113
|
|
|
139
|
-
.jp-RunningSessions-itemLabel:focus {
|
|
140
|
-
background-color: var(--jp-layout-color2);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
114
|
.jp-RunningSessions-itemDetail {
|
|
144
115
|
font-size: var(--jp-ui-font-size1);
|
|
145
116
|
flex: 1 1 45%;
|
|
@@ -149,32 +120,10 @@ span.jp-RunningSessions-icon > svg {
|
|
|
149
120
|
white-space: nowrap;
|
|
150
121
|
}
|
|
151
122
|
|
|
152
|
-
.jp-RunningSessions-caret {
|
|
153
|
-
align-items: center;
|
|
154
|
-
display: flex;
|
|
155
|
-
padding-right: 4px;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
.jp-RunningSessions-caret > svg {
|
|
159
|
-
height: 16px;
|
|
160
|
-
width: 16px;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.jp-RunningSessions-item .jp-RunningSessions-itemShutdown {
|
|
164
|
-
border-radius: 0;
|
|
165
|
-
margin: 0;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
123
|
.jp-RunningSessions-item:not(:hover) .jp-RunningSessions-itemShutdown {
|
|
169
124
|
visibility: hidden;
|
|
170
125
|
}
|
|
171
126
|
|
|
172
|
-
.jp-RunningSessions-sectionList
|
|
173
|
-
.jp-RunningSessions-item
|
|
174
|
-
.jp-Button.jp-RunningSessions-itemShutdown:hover {
|
|
175
|
-
background: var(--jp-layout-color3);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
127
|
.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent {
|
|
179
128
|
color: var(--jp-warn-color1);
|
|
180
129
|
}
|
|
@@ -193,6 +142,10 @@ span.jp-RunningSessions-icon > svg {
|
|
|
193
142
|
outline-offset: -2px;
|
|
194
143
|
}
|
|
195
144
|
|
|
145
|
+
.jp-RunningSessions-item.jp-mod-active.jp-TreeItem::part(positioning-region) {
|
|
146
|
+
background-color: transparent;
|
|
147
|
+
}
|
|
148
|
+
|
|
196
149
|
.jp-SearchableSessions-list > .jp-RunningSessions-section {
|
|
197
150
|
min-height: auto;
|
|
198
151
|
}
|