@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 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(): IRunningItem[];
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 { caretDownIcon, caretRightIcon, closeIcon, collapseAllIcon, expandAllIcon, FilterBox, PanelWithToolbar, ReactWidget, refreshIcon, SidePanel, tableRowsIcon, ToolbarButton, ToolbarButtonComponent, treeViewIcon, UseSignal } from '@jupyterlab/ui-components';
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
- stopPropagation = true;
140
- (_a = runningItem.shutdown) === null || _a === void 0 ? void 0 : _a.call(runningItem);
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 = collapsible
148
- ? () => !stopPropagation && collapse(!collapsed)
149
- : undefined;
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("li", null,
163
- React.createElement("div", { className: classList.join(' '), onClick: onClick, "data-context": runningItem.context || '' },
164
- collapsible &&
165
- (collapsed ? (React.createElement(caretRightIcon.react, { tag: "span", className: CARET_CLASS })) : (React.createElement(caretDownIcon.react, { tag: "span", className: CARET_CLASS }))),
166
- icon ? (typeof icon === 'string' ? (React.createElement("img", { src: icon, className: ITEM_ICON_CLASS })) : (React.createElement(icon.react, { tag: "span", className: ITEM_ICON_CLASS }))) : undefined,
167
- React.createElement("span", { className: ITEM_LABEL_CLASS, title: title, onClick: runningItem.open && (() => runningItem.open()) }, runningItem.label()),
168
- detail && React.createElement("span", { className: ITEM_DETAIL_CLASS }, detail),
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("ul", { className: LIST_CLASS }, 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 })))));
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(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 })));
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
- let runningItems = options.manager.running();
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.addWidget(new ListWidget({
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.toggleClass(LIST_VIEW_CLASS, newState);
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.running().filter(this._filterProvider.filter);
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 = runningItems.filter(item => item.children).length !== 0;
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":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,EACb,cAAc,EACd,SAAS,EACT,eAAe,EACf,aAAa,EACb,SAAS,EAGT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EAEb,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAe,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,cAAc,EAAa,MAAM,OAAO,CAAC;AAEzD;;GAEG;AACH,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C;;GAEG;AACH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAEjD;;GAEG;AACH,MAAM,aAAa,GAAG,4BAA4B,CAAC;AAEnD;;GAEG;AACH,MAAM,eAAe,GAAG,qCAAqC,CAAC;AAE9D;;GAEG;AACH,MAAM,UAAU,GAAG,gCAAgC,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAE7C;;GAEG;AACH,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAExD;;GAEG;AACH,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAE1D;;GAEG;AACH,MAAM,qBAAqB,GAAG,iCAAiC,CAAC;AAEhE;;GAEG;AACH,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C;;GAEG;AACH,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD;;GAEG;AACH,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;GAEG;AACH,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAE1D;;GAEG;AACH,MAAM,4BAA4B,GAAG,mCAAmC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,KAAK,CAC9C,6CAA6C,EAC7C,4CAA4C,CAC7C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,KAAK,CAC7C,6CAA6C,EAC7C,0DAA0D,CAC3D,CAAC;AAyBF,MAAM,OAAO,sBAAsB;IAAnC;QAiCU,WAAM,GAAG,IAAI,MAAM,CAAkC,IAAI,CAAC,CAAC;QAC3D,cAAS,GAAgC,EAAE,CAAC;IACtD,CAAC;IAlCC;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAkC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CAIF;AAED,SAAS,IAAI,CAAC,KAOb;;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,MAAM,2DAAI,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE5C,4BAA4B;IAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC;IAC7D,MAAM,aAAa,GACjB,MAAA,CAAC,OAAO,KAAK,CAAC,aAAa,KAAK,UAAU;QACxC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAI,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,GAAG,EAAE;;QACpB,eAAe,GAAG,IAAI,CAAC;QACvB,MAAA,WAAW,CAAC,QAAQ,2DAAI,CAAC;IAC3B,CAAC,CAAC;IAEF,uDAAuD;IACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IAEtC,8EAA8E;IAC9E,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,SAAS,CAAC;QAChD,CAAC,CAAC,SAAS,CAAC;IAEd,4CAA4C;IAC5C,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAC3D,QAAQ,CAAC,gBAAgB,CAAC,CAC3B,CAAC;IAEF,IAAI,WAAW,CAAC,SAAS,EAAE;QACzB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KACvC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACxC;IACD,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;QAC5B,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACvC;IAED,OAAO,CACL;QACE;YACE,6BACE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9B,OAAO,EAAE,OAAO,kBACF,WAAW,CAAC,OAAO,IAAI,EAAE;gBAEtC,WAAW;oBACV,CAAC,SAAS,CAAC,CAAC,CAAC,CACX,oBAAC,cAAc,CAAC,KAAK,IAAC,GAAG,EAAC,MAAM,EAAC,SAAS,EAAE,WAAW,GAAI,CAC5D,CAAC,CAAC,CAAC,CACF,oBAAC,aAAa,CAAC,KAAK,IAAC,GAAG,EAAC,MAAM,EAAC,SAAS,EAAE,WAAW,GAAI,CAC3D,CAAC;gBACH,IAAI,CAAC,CAAC,CAAC,CACN,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACzB,6BAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,GAAI,CAC/C,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,CAAC,KAAK,IAAC,GAAG,EAAC,MAAM,EAAC,SAAS,EAAE,eAAe,GAAI,CACtD,CACF,CAAC,CAAC,CAAC,SAAS;gBACb,8BACE,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAK,EAAE,CAAC,IAEvD,WAAW,CAAC,KAAK,EAAE,CACf;gBACN,MAAM,IAAI,8BAAM,SAAS,EAAE,iBAAiB,IAAG,MAAM,CAAQ;gBAC7D,WAAW,CAAC,QAAQ,IAAI,CACvB,oBAAC,sBAAsB,IACrB,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,aAAa,GACtB,CACH,CACG;YACL,WAAW,IAAI,CAAC,SAAS,IAAI,CAC5B,oBAAC,IAAI,IACH,KAAK,EAAE,IAAI,EACX,YAAY,EAAE,QAAS,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,KAAK,CAAC,eAAe,GACtC,CACH,CACE,CACJ,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,KAQb;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM;QAClB,CAAC,CAAC,KAAK,CAAC,YAAY;aACf,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;aACpB,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,OAAO,CAAC,CAAC,KAAM,CAAC,KAAM,GAAG,CAAC,CAAC,KAAM,CAAC,KAAM,CAAC;QAC3C,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACvB,OAAO,CACL,4BAAI,SAAS,EAAE,UAAU,IACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,oBAAC,IAAI,IACH,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,GAAG,EAAE,CAAC,EACN,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,eAAe,EAAE,KAAK,CAAC,eAAe,GACtC,CACH,CAAC,CACC,CACN,CAAC;AACJ,CAAC;AAOD,MAAM,YAAa,SAAQ,WAAW;IACpC,YAAY,UAAuB;QACjC,KAAK,EAAE,CAAC;QA0DF,cAAS,GAA6C,CAAC,CAAS,EAAE,EAAE;YAC1E,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC;QACM,mBAAc,GAAG,IAAI,MAAM,CAAqB,IAAI,CAAC,CAAC;QA5D5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,oBAAC,SAAS,IACR,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EACrC,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,cAAc,EAAE,KAAK,EACrB,aAAa,EAAE,KAAK,GACpB,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAmC;;QACxC,MAAM,MAAM,GAAa,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,KAAK,MAAM,KAAK,IAAI,MAAA,IAAI,CAAC,QAAQ,mCAAI,EAAE,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,eAAe,CAAC,IAAe;QACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,EAAE,GAAG,IAAI,CAAC;SAClB;QACD,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE;YAC7B,OAAO,EAAE,GAAG,IAAI,CAAC;SAClB;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzD;QACD,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;iBACvB,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;iBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;SACd;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,aAAa,CACnB,QAAkD;QAElD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CAOF;AAED,MAAM,UAAW,SAAQ,WAAW;IAClC,YACU,QAMP;QAED,KAAK,EAAE,CAAC;QARA,aAAQ,GAAR,QAAQ,CAMf;QA+EK,YAAO,GAA6B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QA5E3D,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,cAAc,EAAE;YAC3B,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACvE;IACH,CAAC;IAED,OAAO;QACL,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAES,YAAY,CAAC,GAAY;QACjC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,OAAO,CACL,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,CAAC,OAAO,IAC5B,GAAG,EAAE;;YACJ,gEAAgE;YAChE,qCAAqC;YACrC,IAAI,MAAM,EAAE;gBACV,MAAM,GAAG,KAAK,CAAC;aAChB;iBAAM;gBACL,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aAClD;YACD,OAAO,CACL,6BAAK,SAAS,EAAE,eAAe;gBAC7B,oBAAC,IAAI,IACH,YAAY,EAAE,OAAO,CAAC,YAAY,EAClC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,EAC5C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAClD,MAAM,EAAE,MAAA,OAAO,CAAC,cAAc,0CAAE,MAAM,EACtC,UAAU,EAAE,OAAO,CAAC,UAAU,EAC9B,eAAe,EAAE,OAAO,CAAC,eAAe,GACxC,CACE,CACP,CAAC;QACJ,CAAC,CACS,CACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,YAAY;QAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;QACD,IAAI,MAAM,GAAkB,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,MAAM,IAAI,IAAI,EAAE;YACrB,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;aACP;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACxB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;CAGF;AAED;;;;;GAKG;AACH,MAAM,OAAQ,SAAQ,gBAAgB;IACpC,YAAY,OAAyB;QACnC,KAAK,EAAE,CAAC;QAiLF,aAAQ,GAIL,IAAI,CAAC;QAER,cAAS,GAAY,KAAK,CAAC;QAE3B,qBAAgB,GAAG,IAAI,MAAM,CAAmB,IAAI,CAAC,CAAC;QACtD,iBAAY,GAAG,IAAI,MAAM,CAA8B,IAAI,CAAC,CAAC;QAzLnE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;SACzE;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE7C,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;YACjC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,SAAS,CACZ,IAAI,UAAU,CAAC;YACb,YAAY;YACZ,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,GAAG,OAAO;SACX,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAiB;QAC9B,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACtD,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC;SACrC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAC3E,CAAC;IAEO,kBAAkB,CAAC,YAA6C;QACtE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,MAAM,aAAa,GAAG,GAAG,gBAAgB,GAAG,CAAC;QAC7C,MAAM,2BAA2B,GAC/B,IAAI,CAAC,QAAQ,CAAC,2BAA2B;YACzC,GAAG,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE9C,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,KAAK,UAAU,CAAC;gBACd,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACP,MAAM,CAAC,YAAY,EAAE;oBACrB,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;iBAC/C;aACF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;iBAC7B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,aAAa,CAAC;YAC1C,KAAK,EAAE,gBAAgB;YACvB,SAAS,EAAE,GAAG,yBAAyB,GACrC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAClC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC;YACzC,SAAS,EAAE,iBAAiB;YAC5B,OAAO;YACP,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC;YAC9C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,uBAAuB,GAAG,IAAI,aAAa,CAAC;YAChD,SAAS,EAAE,4BAA4B;YACvC,OAAO;YACP,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,QAAQ,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC;gBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrC,uBAAuB,CAAC,OAAO,GAAG,QAAQ,CAAC;YAC7C,CAAC;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;YACvC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG;YACd,aAAa,EAAE,gBAAgB;YAC/B,iBAAiB,EAAE,uBAAuB;YAC1C,cAAc,EAAE,iBAAiB;SAClC,CAAC;QACF,uDAAuD;QACvD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEhE,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE;YACrE,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,EACJ,IAAI,CAAC,QAAQ,CAAC,IAAkC,CAAC,CAClD,CAAC;SACH;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aAClD;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACnD;SACF;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;QAEvE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU;YAC1D,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU;YAC9D,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;IAClD,CAAC;CAaF;AAoCD;;GAEG;AACH,MAAM,OAAO,eACX,SAAQ,SAAS;IAGjB;;OAEG;IACH,YACE,QAAiC,EACjC,UAAwB,EACxB,OAAyB;QAEzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,cAAc,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,SAAS,EACT,IAAI,aAAa,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC;YACjC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,GAAG,EAAE,CACZ,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;SAChE,CAAC,CACH,CAAC;QAEF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,UAAU,CACxB,QAAiB,EACjB,OAAkC;QAElC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;QAE/B,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAChE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC9B;QACD,OAAO,CAAC,WAAW,CAAC,OAAO,CACzB,KAAK,EAAE,QAAQ,EAAE,SAA6B,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,IAAqB;;QACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,gBAAgB,GAAG,MAAA,KAAK,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QACpD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5D,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM;YACL,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;SAClE;QACD,MAAM,QAAQ,GAAG,EAAE,gBAAgB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SACjD;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS;;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,EAAE,CAAC;SACX;QACD,OAAO,CACL,MAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CACzB,WAAW,CACZ,CAAoC,mCAAI,EAAE,CAC5C,CAAC;IACJ,CAAC;CAKF;AAiBD;;GAEG;AACH,MAAM,aAAc,SAAQ,OAAO;IACjC,YAAY,OAAyB;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,SAAS,CAAC,SAAS,GAAG,6BAA6B,CAAC;QACpD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,SAAS,GAAG,kCAAkC,CAAC;QACrD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,MAAM,cAAe,SAAQ,MAAM;IACjC,YAAY,UAAuB;QACjC,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,QAAiC,EAAE,UAAwB;QACrE,KAAK,EAAE,CAAC;QA+IF,iBAAY,GAAG,CAAC,CAAC;QA9IvB,IAAI,CAAC,WAAW,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,cAAc,CAAC;QAEhD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,CACrC,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,gBAAgB,CAAC;SACrC,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAY;QACtB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,SAAS;gBACZ,IAAI,CAAC,WAAW,CAAC,KAAsB,CAAC,CAAC;gBACzC,MAAM;SACT;IACH,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,CAAU;QAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IACD;;OAEG;IACO,aAAa,CAAC,CAAU;QAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB;;QACtB,MAAA,IAAI,CAAC,aAAa,CAAC,aAAa,0CAC5B,IAAI,CAAC,GAAG,EAAE;;YACV,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,0CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACtD,OAAO;aACR;YACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,EACA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAoB;QACtC,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;YACxD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE;gBACV,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAED;;;;OAIG;IACK,aAAa,CAAC,SAAqB;QACzC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzE,CAAC,CAAC,eAAe,EAAE,CACH,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;aAC/C;SACF;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;YACvB,gBAAgB;YAChB,QAAQ,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACpD;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,GAAG,CACjB,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,EAAE,CAAC,CAAC,EACrC,KAAK,CAAC,MAAM,GAAG,CAAC,CACjB,CAAC;SACH;QACD,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC/C,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAMF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YACE,QAAiC,EACjC,YAA0B,EAC1B,UAAwB;QAExB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,cAAc,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAE5C,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAErC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACO,UAAU,CAAC,QAAiB,EAAE,OAAkC;QACxE,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YAChC,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;QACH,0CAA0C;QAC1C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;CAMF"}
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-alpha.2",
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
- "@jupyterlab/apputils": "^4.4.0-alpha.2",
40
- "@jupyterlab/statedb": "^4.3.0-alpha.2",
41
- "@jupyterlab/translation": "^4.3.0-alpha.2",
42
- "@jupyterlab/ui-components": "^4.3.0-alpha.2",
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
- stopPropagation = true;
224
- runningItem.shutdown?.();
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 = collapsible
234
- ? () => !stopPropagation && collapse(!collapsed)
235
- : undefined;
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
- <li>
255
- <div
256
- className={classList.join(' ')}
257
- onClick={onClick}
258
- data-context={runningItem.context || ''}
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
- {collapsible &&
261
- (collapsed ? (
262
- <caretRightIcon.react tag="span" className={CARET_CLASS} />
263
- ) : (
264
- <caretDownIcon.react tag="span" className={CARET_CLASS} />
265
- ))}
266
- {icon ? (
267
- typeof icon === 'string' ? (
268
- <img src={icon} className={ITEM_ICON_CLASS} />
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
- {runningItem.label()}
279
- </span>
280
- {detail && <span className={ITEM_DETAIL_CLASS}>{detail}</span>}
281
- {runningItem.shutdown && (
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
- </li>
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
- <ul className={LIST_CLASS}>
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
- </ul>
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
- <List
460
- runningItems={options.runningItems}
461
- shutdownLabel={options.manager.shutdownLabel}
462
- shutdownItemIcon={options.manager.shutdownItemIcon}
463
- filter={options.filterProvider?.filter}
464
- translator={options.translator}
465
- collapseToggled={options.collapseToggled}
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
- let runningItems = options.manager.running();
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.addWidget(
537
- new ListWidget({
538
- runningItems,
539
- collapseToggled: this._collapseToggled,
540
- ...options
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.toggleClass(LIST_VIEW_CLASS, newState);
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.running().filter(this._filterProvider.filter);
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 = runningItems.filter(item => item.children).length !== 0;
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
- .jp-mod-running-list-view .jp-RunningSessions-item.jp-mod-kernel,
84
- .jp-mod-running-list-view .jp-RunningSessions-item.jp-mod-kernelspec {
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
  }