@jupyterlab/notebook 4.6.2 → 4.6.4

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.
@@ -6,6 +6,7 @@ import { CodeCell, createCellSearchProvider } from '@jupyterlab/cells';
6
6
  import { SearchProvider } from '@jupyterlab/documentsearch';
7
7
  import { nullTranslator } from '@jupyterlab/translation';
8
8
  import { ArrayExt } from '@lumino/algorithm';
9
+ import { Debouncer } from '@lumino/polling';
9
10
  import { NotebookPanel } from './panel';
10
11
  /**
11
12
  * Notebook document search provider
@@ -23,6 +24,18 @@ export class NotebookSearchProvider extends SearchProvider {
23
24
  this._textSelection = null;
24
25
  this._currentProviderIndex = null;
25
26
  this._delayedActiveCellChangeHandler = null;
27
+ this._modeChangeDebouncer = new Debouncer(() => {
28
+ var _a;
29
+ // The mode can change again before this handler runs; check the
30
+ // current mode because this is what `_updateSelectionMode()` acts on.
31
+ if (this.widget.content.mode === 'command' &&
32
+ ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('.jp-DocumentSearch-overlay'))) {
33
+ // Do not request updating mode when user switched focus to search overlay.
34
+ return;
35
+ }
36
+ this._updateSelectionMode();
37
+ this._filtersChanged.emit();
38
+ }, 0);
26
39
  this._onSelection = false;
27
40
  this._selectedCells = 1;
28
41
  this._selectedLines = 0;
@@ -43,17 +56,9 @@ export class NotebookSearchProvider extends SearchProvider {
43
56
  }
44
57
  _onNotebookStateChanged(_, args) {
45
58
  if (args.name === 'mode') {
46
- // Delay the update to ensure that `document.activeElement` settled.
47
- window.setTimeout(() => {
48
- var _a;
49
- if (args.newValue === 'command' &&
50
- ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('.jp-DocumentSearch-overlay'))) {
51
- // Do not request updating mode when user switched focus to search overlay.
52
- return;
53
- }
54
- this._updateSelectionMode();
55
- this._filtersChanged.emit();
56
- }, 0);
59
+ // Debounce to ensure that `document.activeElement` settled, and to keep
60
+ // only the most recent mode transition.
61
+ void this._modeChangeDebouncer.invoke();
57
62
  }
58
63
  }
59
64
  /**
@@ -158,6 +163,7 @@ export class NotebookSearchProvider extends SearchProvider {
158
163
  this.widget.content.stateChanged.disconnect(this._onNotebookStateChanged, this);
159
164
  this.widget.content.selectionChanged.disconnect(this._onCellSelectionChanged, this);
160
165
  this._stopObservingLastCell();
166
+ this._modeChangeDebouncer.dispose();
161
167
  super.dispose();
162
168
  const index = this.widget.content.activeCellIndex;
163
169
  this.endQuery()
@@ -1 +1 @@
1
- {"version":3,"file":"searchprovider.js","sourceRoot":"","sources":["../src/searchprovider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchprovider.js","sourceRoot":"","sources":["../src/searchprovider.ts"],"names":[],"mappings":"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"}
package/lib/widget.d.ts CHANGED
@@ -195,8 +195,8 @@ export declare class StaticNotebook extends WindowedList<NotebookViewModel> {
195
195
  * Remove a cell widget.
196
196
  */
197
197
  private _removeCell;
198
- private _shouldTrustMarkdown;
199
- private _syncMarkdownCellTrust;
198
+ private _shouldTrustCell;
199
+ private _syncCellTrust;
200
200
  private _onCellStateChanged;
201
201
  /**
202
202
  * Update the mimetype of the notebook.
@@ -727,6 +727,38 @@ export declare class Notebook extends StaticNotebook {
727
727
  * Ensure that the notebook has proper focus.
728
728
  */
729
729
  private _ensureFocus;
730
+ /**
731
+ * Find the cell containing a node, traversing open shadow roots.
732
+ *
733
+ * Returned cell is `null` if the node is not in a cell of this notebook.
734
+ */
735
+ private _cellContaining;
736
+ /**
737
+ * Whether a shift-click on `target` should be left to the browser to handle
738
+ * as an extension of the current text selection, rather than be turned into
739
+ * a cell range selection.
740
+ *
741
+ * This is the case when the click lands in a region of a cell whose text the
742
+ * browser selects - the output area of a code cell, or the rendered input of
743
+ * a rendered markdown cell - and the current selection starts in such a
744
+ * region too; see https://github.com/jupyterlab/jupyterlab/issues/4800. A
745
+ * click on a cell prompt, on cell chrome, or on a cell without such a region
746
+ * (an unrendered markdown cell, a code cell without outputs) always selects
747
+ * cells.
748
+ *
749
+ * #### Notes
750
+ * Only the anchor of the selection is considered, because a shift-click
751
+ * moves the focus and leaves the anchor in place. The anchor may sit in a
752
+ * different cell than the one clicked, which is what allows a selection to
753
+ * be extended across the outputs of several cells; and disregarding the
754
+ * focus keeps this working when a drag overshot the edge of an output and
755
+ * left the focus outside of it.
756
+ *
757
+ * This trade-off between extending the text selection and extending the cell
758
+ * selection can be adjusted in the future. For now the text selection wins to
759
+ * preserve the behaviour from before refactor that users may be accustomed to.
760
+ */
761
+ private _isExtendingTextSelection;
730
762
  /**
731
763
  * Find the cell index containing the target html element.
732
764
  *
package/lib/widget.js CHANGED
@@ -509,7 +509,7 @@ export class StaticNotebook extends WindowedList {
509
509
  for (const cell of cells) {
510
510
  this._insertCell(++index, cell);
511
511
  }
512
- this._syncMarkdownCellTrust();
512
+ this._syncCellTrust();
513
513
  newValue.cells.changed.connect(this._onCellsChanged, this);
514
514
  newValue.metadataChanged.connect(this.onMetadataChanged, this);
515
515
  newValue.contentChanged.connect(this.onModelContentChanged, this);
@@ -561,7 +561,7 @@ export class StaticNotebook extends WindowedList {
561
561
  if (!this.model.sharedModel.cells.length) {
562
562
  this.addHeader();
563
563
  }
564
- this._syncMarkdownCellTrust();
564
+ this._syncCellTrust();
565
565
  this.update();
566
566
  }
567
567
  /**
@@ -587,7 +587,7 @@ export class StaticNotebook extends WindowedList {
587
587
  widget.inViewportChanged.connect(this._onCellInViewportChanged, this);
588
588
  widget.addClass(NB_CELL_CLASS);
589
589
  ArrayExt.insert(this.cellsArray, index, widget);
590
- this._syncMarkdownCellTrust(widget);
590
+ this._syncCellTrust(widget);
591
591
  this.onCellInserted(index, widget);
592
592
  this._scheduleCellRenderOnIdle();
593
593
  }
@@ -690,8 +690,8 @@ export class StaticNotebook extends WindowedList {
690
690
  this.onCellRemoved(index, widget);
691
691
  widget.dispose();
692
692
  }
693
- _shouldTrustMarkdown() {
694
- // Note: this returns false in a notebook without trsuted code cells;
693
+ _shouldTrustCell() {
694
+ // Note: this returns false in a notebook without trusted code cells;
695
695
  // This is intended since only Code cells carry trust status on disk.
696
696
  if (!this._notebookModel) {
697
697
  return false;
@@ -707,12 +707,18 @@ export class StaticNotebook extends WindowedList {
707
707
  }
708
708
  return hasCodeCell;
709
709
  }
710
- _syncMarkdownCellTrust(cell) {
711
- const trusted = this._shouldTrustMarkdown();
710
+ _syncCellTrust(cell) {
711
+ const trusted = this._shouldTrustCell();
712
712
  const trustHandler = this.rendermime.trustHandler;
713
713
  if (!trustHandler) {
714
714
  return;
715
715
  }
716
+ if (trusted) {
717
+ trustHandler.markTrusted(this.node);
718
+ }
719
+ else {
720
+ trustHandler.unmarkTrusted(this.node);
721
+ }
716
722
  const cells = cell ? [cell] : this.widgets;
717
723
  for (const widget of cells) {
718
724
  if (!(widget instanceof MarkdownCell)) {
@@ -728,7 +734,7 @@ export class StaticNotebook extends WindowedList {
728
734
  }
729
735
  _onCellStateChanged(model, args) {
730
736
  if (args.name === 'trusted') {
731
- this._syncMarkdownCellTrust();
737
+ this._syncCellTrust();
732
738
  }
733
739
  }
734
740
  /**
@@ -1010,7 +1016,7 @@ export class StaticNotebook extends WindowedList {
1010
1016
  this._contentVisibilityObserver.observe(cell.node);
1011
1017
  });
1012
1018
  });
1013
- });
1019
+ }, this);
1014
1020
  }
1015
1021
  }
1016
1022
  /**
@@ -2313,6 +2319,67 @@ export class Notebook extends StaticNotebook {
2313
2319
  });
2314
2320
  }
2315
2321
  }
2322
+ /**
2323
+ * Find the cell containing a node, traversing open shadow roots.
2324
+ *
2325
+ * Returned cell is `null` if the node is not in a cell of this notebook.
2326
+ */
2327
+ _cellContaining(node) {
2328
+ let current = node;
2329
+ while (current) {
2330
+ const element = current instanceof Element ? current : current.parentElement;
2331
+ if (element) {
2332
+ const index = this._findCell(element);
2333
+ if (index !== -1) {
2334
+ return this.widgets[index];
2335
+ }
2336
+ }
2337
+ const root = (element !== null && element !== void 0 ? element : current).getRootNode();
2338
+ current = root instanceof ShadowRoot ? root.host : null;
2339
+ }
2340
+ return null;
2341
+ }
2342
+ /**
2343
+ * Whether a shift-click on `target` should be left to the browser to handle
2344
+ * as an extension of the current text selection, rather than be turned into
2345
+ * a cell range selection.
2346
+ *
2347
+ * This is the case when the click lands in a region of a cell whose text the
2348
+ * browser selects - the output area of a code cell, or the rendered input of
2349
+ * a rendered markdown cell - and the current selection starts in such a
2350
+ * region too; see https://github.com/jupyterlab/jupyterlab/issues/4800. A
2351
+ * click on a cell prompt, on cell chrome, or on a cell without such a region
2352
+ * (an unrendered markdown cell, a code cell without outputs) always selects
2353
+ * cells.
2354
+ *
2355
+ * #### Notes
2356
+ * Only the anchor of the selection is considered, because a shift-click
2357
+ * moves the focus and leaves the anchor in place. The anchor may sit in a
2358
+ * different cell than the one clicked, which is what allows a selection to
2359
+ * be extended across the outputs of several cells; and disregarding the
2360
+ * focus keeps this working when a drag overshot the edge of an output and
2361
+ * left the focus outside of it.
2362
+ *
2363
+ * This trade-off between extending the text selection and extending the cell
2364
+ * selection can be adjusted in the future. For now the text selection wins to
2365
+ * preserve the behaviour from before refactor that users may be accustomed to.
2366
+ */
2367
+ _isExtendingTextSelection(selection, targetCell, target) {
2368
+ if (!selection || selection.isCollapsed) {
2369
+ return false;
2370
+ }
2371
+ if (!Private.isInTextRegion(targetCell, target)) {
2372
+ return false;
2373
+ }
2374
+ const { anchorNode } = selection;
2375
+ // The selection usually starts in the very cell which was clicked, which
2376
+ // can be checked without having to locate the cell of the anchor.
2377
+ if (Private.isInTextRegion(targetCell, anchorNode)) {
2378
+ return true;
2379
+ }
2380
+ const anchorCell = this._cellContaining(anchorNode);
2381
+ return !!anchorCell && Private.isInTextRegion(anchorCell, anchorNode);
2382
+ }
2316
2383
  /**
2317
2384
  * Find the cell index containing the target html element.
2318
2385
  *
@@ -2517,15 +2584,18 @@ export class Notebook extends StaticNotebook {
2517
2584
  this.deselectAll();
2518
2585
  }
2519
2586
  else if (targetArea === 'prompt' || targetArea === 'cell') {
2520
- // We don't want to prevent the default selection behavior
2521
- // if there is currently text selected in an output.
2522
- const hasSelection = ((_c = window.getSelection()) !== null && _c !== void 0 ? _c : '').toString() !== '';
2523
2587
  if (button === 0 &&
2524
2588
  shiftKey &&
2525
- !hasSelection &&
2526
- !['INPUT', 'OPTION'].includes(target.tagName)) {
2589
+ !['INPUT', 'OPTION'].includes(target.tagName) &&
2590
+ // We don't want to prevent the default selection behavior when the
2591
+ // user is extending a text selection into the clicked region.
2592
+ !this._isExtendingTextSelection(window.getSelection(), widget, target)) {
2527
2593
  // Prevent browser selecting text in prompt or output
2528
2594
  event.preventDefault();
2595
+ // Preventing the default also stops the browser from collapsing any
2596
+ // text selection which is already there; drop it explicitly so that
2597
+ // stale highlighted text is not left over the new cell selection.
2598
+ (_c = window.getSelection()) === null || _c === void 0 ? void 0 : _c.removeAllRanges();
2529
2599
  // Shift-click - extend selection
2530
2600
  try {
2531
2601
  this.extendContiguousSelectionTo(index);
@@ -3066,6 +3136,60 @@ var Private;
3066
3136
  }
3067
3137
  }
3068
3138
  Private.NotebookPanelLayout = NotebookPanelLayout;
3139
+ /**
3140
+ * Check whether `node` is `parent` or a descendant of it.
3141
+ *
3142
+ * Unlike `Node.contains()` this traverses out of open shadow roots, so a
3143
+ * node rendered by a widget library which attaches a shadow root (such as
3144
+ * Panel or Bokeh) is still recognised as belonging to its host subtree.
3145
+ */
3146
+ function containsDeep(parent, node) {
3147
+ let current = node;
3148
+ while (current) {
3149
+ if (parent.contains(current)) {
3150
+ return true;
3151
+ }
3152
+ const root = current.getRootNode();
3153
+ current = root instanceof ShadowRoot ? root.host : null;
3154
+ }
3155
+ return false;
3156
+ }
3157
+ /**
3158
+ * Whether a cell exposes an output area.
3159
+ *
3160
+ * #### Notes
3161
+ * This is a structural check rather than `instanceof CodeCell` so that it
3162
+ * still holds when a federated extension loads its own copy of
3163
+ * `@jupyterlab/cells`.
3164
+ */
3165
+ function hasOutputArea(cell) {
3166
+ return 'outputArea' in cell;
3167
+ }
3168
+ /**
3169
+ * The regions of a cell whose text the browser, rather than the notebook,
3170
+ * is responsible for selecting: the output area of a code cell and the
3171
+ * rendered input of a cell which renders it, such as a rendered markdown
3172
+ * cell.
3173
+ */
3174
+ function textRegionsOf(cell) {
3175
+ var _a;
3176
+ const regions = [];
3177
+ if (hasOutputArea(cell)) {
3178
+ regions.push(cell.outputArea.node);
3179
+ }
3180
+ const rendered = (_a = cell.inputArea) === null || _a === void 0 ? void 0 : _a.renderedInput;
3181
+ if (rendered) {
3182
+ regions.push(rendered.node);
3183
+ }
3184
+ return regions;
3185
+ }
3186
+ /**
3187
+ * Whether a node is in a region of a cell whose text the browser selects.
3188
+ */
3189
+ function isInTextRegion(cell, node) {
3190
+ return textRegionsOf(cell).some(region => containsDeep(region, node));
3191
+ }
3192
+ Private.isInTextRegion = isInTextRegion;
3069
3193
  /**
3070
3194
  * Create a cell drag image.
3071
3195
  */