@jupyterlab/running 4.0.0-alpha.20 → 4.0.0-alpha.21
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 +61 -13
- package/lib/index.js.map +1 -1
- package/package.json +10 -8
- package/src/index.tsx +88 -25
- package/style/index.css +1 -0
- package/style/index.js +1 -0
package/lib/index.js
CHANGED
|
@@ -129,6 +129,66 @@ function Item(props) {
|
|
|
129
129
|
function List(props) {
|
|
130
130
|
return (React.createElement("ul", { className: LIST_CLASS }, props.runningItems.map((item, i) => (React.createElement(Item, { child: props.child, key: i, runningItem: item, shutdownLabel: props.shutdownLabel, shutdownItemIcon: props.shutdownItemIcon, translator: props.translator })))));
|
|
131
131
|
}
|
|
132
|
+
class ListWidget extends ReactWidget {
|
|
133
|
+
constructor(_options) {
|
|
134
|
+
super();
|
|
135
|
+
this._options = _options;
|
|
136
|
+
this._update = new Signal(this);
|
|
137
|
+
_options.manager.runningChanged.connect(this._emitUpdate, this);
|
|
138
|
+
}
|
|
139
|
+
dispose() {
|
|
140
|
+
this._options.manager.runningChanged.disconnect(this._emitUpdate, this);
|
|
141
|
+
super.dispose();
|
|
142
|
+
}
|
|
143
|
+
onBeforeShow(msg) {
|
|
144
|
+
super.onBeforeShow(msg);
|
|
145
|
+
this._update.emit();
|
|
146
|
+
}
|
|
147
|
+
render() {
|
|
148
|
+
const options = this._options;
|
|
149
|
+
let cached = true;
|
|
150
|
+
return (React.createElement(UseSignal, { signal: this._update }, () => {
|
|
151
|
+
// Cache the running items for the intial load and request from
|
|
152
|
+
// the service every subsequent load.
|
|
153
|
+
if (cached) {
|
|
154
|
+
cached = false;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
options.runningItems = options.manager.running();
|
|
158
|
+
}
|
|
159
|
+
return (React.createElement("div", { className: CONTAINER_CLASS },
|
|
160
|
+
React.createElement(List, { runningItems: options.runningItems, shutdownLabel: options.manager.shutdownLabel, shutdownAllLabel: options.shutdownAllLabel, shutdownItemIcon: options.manager.shutdownItemIcon, translator: options.translator })));
|
|
161
|
+
}));
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Check if the widget or any of it's parents is hidden.
|
|
165
|
+
*
|
|
166
|
+
* Checking parents is necessary as lumino does not propagate visibility
|
|
167
|
+
* changes from parents down to children (although it does notify parents
|
|
168
|
+
* about changes to children visibility).
|
|
169
|
+
*/
|
|
170
|
+
_isAnyHidden() {
|
|
171
|
+
let isHidden = this.isHidden;
|
|
172
|
+
if (isHidden) {
|
|
173
|
+
return isHidden;
|
|
174
|
+
}
|
|
175
|
+
let parent = this.parent;
|
|
176
|
+
while (parent != null) {
|
|
177
|
+
if (parent.isHidden) {
|
|
178
|
+
isHidden = true;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
parent = parent.parent;
|
|
182
|
+
}
|
|
183
|
+
return isHidden;
|
|
184
|
+
}
|
|
185
|
+
_emitUpdate() {
|
|
186
|
+
if (this._isAnyHidden()) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
this._update.emit();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
132
192
|
/**
|
|
133
193
|
* The Section component contains the shared look and feel for an interactive
|
|
134
194
|
* list of kernels and sessions.
|
|
@@ -162,7 +222,6 @@ class Section extends PanelWithToolbar {
|
|
|
162
222
|
});
|
|
163
223
|
}
|
|
164
224
|
let runningItems = options.manager.running();
|
|
165
|
-
let cached = true;
|
|
166
225
|
const enabled = runningItems.length > 0;
|
|
167
226
|
this._button = new ToolbarButton({
|
|
168
227
|
label: shutdownAllLabel,
|
|
@@ -172,18 +231,7 @@ class Section extends PanelWithToolbar {
|
|
|
172
231
|
});
|
|
173
232
|
this._manager.runningChanged.connect(this._updateButton, this);
|
|
174
233
|
this.toolbar.addItem('shutdown-all', this._button);
|
|
175
|
-
this.addWidget(
|
|
176
|
-
// Cache the running items for the intial load and request from
|
|
177
|
-
// the service every subsequent load.
|
|
178
|
-
if (cached) {
|
|
179
|
-
cached = false;
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
runningItems = options.manager.running();
|
|
183
|
-
}
|
|
184
|
-
return (React.createElement("div", { className: CONTAINER_CLASS },
|
|
185
|
-
React.createElement(List, { runningItems: runningItems, shutdownLabel: options.manager.shutdownLabel, shutdownAllLabel: shutdownAllLabel, shutdownItemIcon: options.manager.shutdownItemIcon, translator: options.translator })));
|
|
186
|
-
})));
|
|
234
|
+
this.addWidget(new ListWidget({ runningItems, shutdownAllLabel, ...options }));
|
|
187
235
|
}
|
|
188
236
|
/**
|
|
189
237
|
* Dispose the resources held by the widget
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,aAAa,EACb,cAAc,EACd,SAAS,EAET,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAe,MAAM,oBAAoB,CAAC;
|
|
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.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.21",
|
|
4
4
|
"description": "JupyterLab - Running Sessions Panel",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -37,18 +37,20 @@
|
|
|
37
37
|
"watch": "tsc -b --watch"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@jupyterlab/apputils": "^4.0.0-alpha.
|
|
41
|
-
"@jupyterlab/translation": "^4.0.0-alpha.
|
|
42
|
-
"@jupyterlab/ui-components": "^4.0.0-alpha.
|
|
43
|
-
"@lumino/coreutils": "^2.0.0-rc.
|
|
44
|
-
"@lumino/disposable": "^2.0.0-rc.
|
|
45
|
-
"@lumino/
|
|
40
|
+
"@jupyterlab/apputils": "^4.0.0-alpha.21",
|
|
41
|
+
"@jupyterlab/translation": "^4.0.0-alpha.21",
|
|
42
|
+
"@jupyterlab/ui-components": "^4.0.0-alpha.36",
|
|
43
|
+
"@lumino/coreutils": "^2.0.0-rc.1",
|
|
44
|
+
"@lumino/disposable": "^2.0.0-rc.1",
|
|
45
|
+
"@lumino/messaging": "^2.0.0-rc.1",
|
|
46
|
+
"@lumino/signaling": "^2.0.0-rc.1",
|
|
47
|
+
"@lumino/widgets": "^2.0.0-rc.1",
|
|
46
48
|
"react": "^18.2.0"
|
|
47
49
|
},
|
|
48
50
|
"devDependencies": {
|
|
49
51
|
"rimraf": "~3.0.0",
|
|
50
52
|
"typedoc": "~0.23.25",
|
|
51
|
-
"typescript": "~5.0.
|
|
53
|
+
"typescript": "~5.0.1-rc"
|
|
52
54
|
},
|
|
53
55
|
"publishConfig": {
|
|
54
56
|
"access": "public"
|
package/src/index.tsx
CHANGED
|
@@ -22,7 +22,9 @@ import {
|
|
|
22
22
|
} from '@jupyterlab/ui-components';
|
|
23
23
|
import { Token } from '@lumino/coreutils';
|
|
24
24
|
import { DisposableDelegate, IDisposable } from '@lumino/disposable';
|
|
25
|
+
import { Message } from '@lumino/messaging';
|
|
25
26
|
import { ISignal, Signal } from '@lumino/signaling';
|
|
27
|
+
import { Widget } from '@lumino/widgets';
|
|
26
28
|
import * as React from 'react';
|
|
27
29
|
|
|
28
30
|
/**
|
|
@@ -250,6 +252,91 @@ function List(props: {
|
|
|
250
252
|
);
|
|
251
253
|
}
|
|
252
254
|
|
|
255
|
+
class ListWidget extends ReactWidget {
|
|
256
|
+
constructor(
|
|
257
|
+
private _options: {
|
|
258
|
+
manager: IRunningSessions.IManager;
|
|
259
|
+
runningItems: IRunningSessions.IRunningItem[];
|
|
260
|
+
shutdownAllLabel: string;
|
|
261
|
+
translator?: ITranslator;
|
|
262
|
+
}
|
|
263
|
+
) {
|
|
264
|
+
super();
|
|
265
|
+
_options.manager.runningChanged.connect(this._emitUpdate, this);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
dispose() {
|
|
269
|
+
this._options.manager.runningChanged.disconnect(this._emitUpdate, this);
|
|
270
|
+
super.dispose();
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
protected onBeforeShow(msg: Message): void {
|
|
274
|
+
super.onBeforeShow(msg);
|
|
275
|
+
this._update.emit();
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
render(): JSX.Element {
|
|
279
|
+
const options = this._options;
|
|
280
|
+
let cached = true;
|
|
281
|
+
return (
|
|
282
|
+
<UseSignal signal={this._update}>
|
|
283
|
+
{() => {
|
|
284
|
+
// Cache the running items for the intial load and request from
|
|
285
|
+
// the service every subsequent load.
|
|
286
|
+
if (cached) {
|
|
287
|
+
cached = false;
|
|
288
|
+
} else {
|
|
289
|
+
options.runningItems = options.manager.running();
|
|
290
|
+
}
|
|
291
|
+
return (
|
|
292
|
+
<div className={CONTAINER_CLASS}>
|
|
293
|
+
<List
|
|
294
|
+
runningItems={options.runningItems}
|
|
295
|
+
shutdownLabel={options.manager.shutdownLabel}
|
|
296
|
+
shutdownAllLabel={options.shutdownAllLabel}
|
|
297
|
+
shutdownItemIcon={options.manager.shutdownItemIcon}
|
|
298
|
+
translator={options.translator}
|
|
299
|
+
/>
|
|
300
|
+
</div>
|
|
301
|
+
);
|
|
302
|
+
}}
|
|
303
|
+
</UseSignal>
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Check if the widget or any of it's parents is hidden.
|
|
309
|
+
*
|
|
310
|
+
* Checking parents is necessary as lumino does not propagate visibility
|
|
311
|
+
* changes from parents down to children (although it does notify parents
|
|
312
|
+
* about changes to children visibility).
|
|
313
|
+
*/
|
|
314
|
+
private _isAnyHidden() {
|
|
315
|
+
let isHidden = this.isHidden;
|
|
316
|
+
if (isHidden) {
|
|
317
|
+
return isHidden;
|
|
318
|
+
}
|
|
319
|
+
let parent: Widget | null = this.parent;
|
|
320
|
+
while (parent != null) {
|
|
321
|
+
if (parent.isHidden) {
|
|
322
|
+
isHidden = true;
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
parent = parent.parent;
|
|
326
|
+
}
|
|
327
|
+
return isHidden;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
private _emitUpdate() {
|
|
331
|
+
if (this._isAnyHidden()) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
this._update.emit();
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
private _update: Signal<ListWidget, void> = new Signal(this);
|
|
338
|
+
}
|
|
339
|
+
|
|
253
340
|
/**
|
|
254
341
|
* The Section component contains the shared look and feel for an interactive
|
|
255
342
|
* list of kernels and sessions.
|
|
@@ -291,7 +378,6 @@ class Section extends PanelWithToolbar {
|
|
|
291
378
|
}
|
|
292
379
|
|
|
293
380
|
let runningItems = options.manager.running();
|
|
294
|
-
let cached = true;
|
|
295
381
|
const enabled = runningItems.length > 0;
|
|
296
382
|
this._button = new ToolbarButton({
|
|
297
383
|
label: shutdownAllLabel,
|
|
@@ -306,30 +392,7 @@ class Section extends PanelWithToolbar {
|
|
|
306
392
|
this.toolbar.addItem('shutdown-all', this._button);
|
|
307
393
|
|
|
308
394
|
this.addWidget(
|
|
309
|
-
|
|
310
|
-
<UseSignal signal={options.manager.runningChanged}>
|
|
311
|
-
{() => {
|
|
312
|
-
// Cache the running items for the intial load and request from
|
|
313
|
-
// the service every subsequent load.
|
|
314
|
-
if (cached) {
|
|
315
|
-
cached = false;
|
|
316
|
-
} else {
|
|
317
|
-
runningItems = options.manager.running();
|
|
318
|
-
}
|
|
319
|
-
return (
|
|
320
|
-
<div className={CONTAINER_CLASS}>
|
|
321
|
-
<List
|
|
322
|
-
runningItems={runningItems}
|
|
323
|
-
shutdownLabel={options.manager.shutdownLabel}
|
|
324
|
-
shutdownAllLabel={shutdownAllLabel}
|
|
325
|
-
shutdownItemIcon={options.manager.shutdownItemIcon}
|
|
326
|
-
translator={options.translator}
|
|
327
|
-
/>
|
|
328
|
-
</div>
|
|
329
|
-
);
|
|
330
|
-
}}
|
|
331
|
-
</UseSignal>
|
|
332
|
-
)
|
|
395
|
+
new ListWidget({ runningItems, shutdownAllLabel, ...options })
|
|
333
396
|
);
|
|
334
397
|
}
|
|
335
398
|
|
package/style/index.css
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
|
|
7
|
+
@import url('~@lumino/widgets/style/index.css');
|
|
7
8
|
@import url('~@jupyterlab/ui-components/style/index.css');
|
|
8
9
|
@import url('~@jupyterlab/apputils/style/index.css');
|
|
9
10
|
|
package/style/index.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
|
|
7
|
+
import '@lumino/widgets/style/index.js';
|
|
7
8
|
import '@jupyterlab/ui-components/style/index.js';
|
|
8
9
|
import '@jupyterlab/apputils/style/index.js';
|
|
9
10
|
|