@jupyterlab/cell-toolbar 4.0.0-alpha.20 → 4.0.0-alpha.22

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.
@@ -1,15 +1,18 @@
1
1
  import { ToolbarRegistry } from '@jupyterlab/apputils';
2
+ import { CellModel } from '@jupyterlab/cells';
2
3
  import { DocumentRegistry } from '@jupyterlab/docregistry';
3
4
  import { Notebook, NotebookPanel } from '@jupyterlab/notebook';
4
5
  import { IObservableList } from '@jupyterlab/observables';
5
6
  import { CommandRegistry } from '@lumino/commands';
6
7
  import { IDisposable } from '@lumino/disposable';
7
8
  import { Widget } from '@lumino/widgets';
9
+ import { IMapChange } from '@jupyter/ydoc';
8
10
  /**
9
11
  * Watch a notebook so that a cell toolbar appears on the active cell
10
12
  */
11
13
  export declare class CellToolbarTracker implements IDisposable {
12
14
  constructor(panel: NotebookPanel, toolbar: IObservableList<ToolbarRegistry.IToolbarItem>);
15
+ _onMetadataChanged(model: CellModel, args: IMapChange): void;
13
16
  _onActiveCellChanged(notebook: Notebook): void;
14
17
  get isDisposed(): boolean;
15
18
  dispose(): void;
@@ -29,6 +29,7 @@ const TOOLBAR_OVERLAP_CLASS = 'jp-toolbar-overlap';
29
29
  */
30
30
  export class CellToolbarTracker {
31
31
  constructor(panel, toolbar) {
32
+ var _a;
32
33
  this._isDisposed = false;
33
34
  this._panel = panel;
34
35
  this._previousActiveCell = this._panel.content.activeCell;
@@ -46,19 +47,42 @@ export class CellToolbarTracker {
46
47
  panel.content.renderingLayoutChanged.connect(this._onActiveCellChanged, this);
47
48
  // Handle subsequent changes of active cell.
48
49
  panel.content.activeCellChanged.connect(this._onActiveCellChanged, this);
50
+ (_a = panel.content.activeCell) === null || _a === void 0 ? void 0 : _a.model.metadataChanged.connect(this._onMetadataChanged, this);
51
+ panel.disposed.connect(() => {
52
+ var _a;
53
+ panel.content.activeCellChanged.disconnect(this._onActiveCellChanged);
54
+ (_a = panel.content.activeCell) === null || _a === void 0 ? void 0 : _a.model.metadataChanged.disconnect(this._onMetadataChanged);
55
+ });
56
+ }
57
+ _onMetadataChanged(model, args) {
58
+ if (args.key === 'jupyter') {
59
+ if (typeof args.newValue === 'object' &&
60
+ args.newValue.source_hidden === true &&
61
+ (args.type === 'add' || args.type === 'change')) {
62
+ // Cell just became hidden; remove toolbar
63
+ this._removeToolbar(model);
64
+ }
65
+ // Check whether input visibility changed
66
+ else if (typeof args.oldValue === 'object' &&
67
+ args.oldValue.source_hidden === true) {
68
+ // Cell just became visible; add toolbar
69
+ this._addToolbar(model);
70
+ }
71
+ }
49
72
  }
50
73
  _onActiveCellChanged(notebook) {
51
74
  if (this._previousActiveCell && !this._previousActiveCell.isDisposed) {
52
75
  // Disposed cells do not have a model anymore.
53
76
  this._removeToolbar(this._previousActiveCell.model);
77
+ this._previousActiveCell.model.metadataChanged.disconnect(this._onMetadataChanged);
54
78
  }
55
79
  const activeCell = notebook.activeCell;
56
80
  if (activeCell === null || activeCell.inputHidden) {
57
81
  return;
58
82
  }
83
+ activeCell.model.metadataChanged.connect(this._onMetadataChanged, this);
59
84
  this._addToolbar(activeCell.model);
60
85
  this._previousActiveCell = activeCell;
61
- this._updateCellForToolbarOverlap(activeCell);
62
86
  }
63
87
  get isDisposed() {
64
88
  return this._isDisposed;
@@ -89,6 +113,7 @@ export class CellToolbarTracker {
89
113
  toolbarWidget.addItem(name, widget);
90
114
  if (widget instanceof ReactWidget &&
91
115
  widget.renderPromise !== undefined) {
116
+ widget.update();
92
117
  promises.push(widget.renderPromise);
93
118
  }
94
119
  }
@@ -101,9 +126,11 @@ export class CellToolbarTracker {
101
126
  cell.displayChanged.connect(this._resizeEventCallback, this);
102
127
  // Watch for changes in the cell's contents.
103
128
  cell.model.contentChanged.connect(this._changedEventCallback, this);
129
+ // Hide the cell toolbar if it overlaps with cell contents
130
+ this._updateCellForToolbarOverlap(cell);
104
131
  })
105
- .catch(() => {
106
- console.error('Error rendering buttons of the cell toolbar');
132
+ .catch(e => {
133
+ console.error('Error rendering buttons of the cell toolbar: ', e);
107
134
  });
108
135
  }
109
136
  }
@@ -256,12 +283,14 @@ export class CellToolbarTracker {
256
283
  if (editor.lineCount < 1) {
257
284
  return false; // Nothing in the editor
258
285
  }
259
- const codeMirrorLines = editorWidget.node.getElementsByClassName('CodeMirror-line');
286
+ const codeMirrorLines = editorWidget.node.getElementsByClassName('cm-line');
260
287
  if (codeMirrorLines.length < 1) {
261
288
  return false; // No lines present
262
289
  }
263
- const lineRight = codeMirrorLines[0].children[0] // First span under first pre
264
- .getBoundingClientRect().right;
290
+ let lineRight = codeMirrorLines[0].getBoundingClientRect().left;
291
+ const range = document.createRange();
292
+ range.selectNodeContents(codeMirrorLines[0]);
293
+ lineRight += range.getBoundingClientRect().width;
265
294
  const toolbarLeft = this._cellToolbarLeft(activeCell);
266
295
  return toolbarLeft === null ? false : lineRight > toolbarLeft;
267
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"celltoolbartracker.js","sourceRoot":"","sources":["../src/celltoolbartracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"celltoolbartracker.js","sourceRoot":"","sources":["../src/celltoolbartracker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/cell-toolbar",
3
- "version": "4.0.0-alpha.20",
3
+ "version": "4.0.0-alpha.22",
4
4
  "description": "Contextual cell toolbar adapted from jlab-enhanced-cell-toolbar",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -40,23 +40,25 @@
40
40
  "watch": "tsc -b --watch"
41
41
  },
42
42
  "dependencies": {
43
- "@jupyterlab/apputils": "^4.0.0-alpha.20",
44
- "@jupyterlab/cells": "^4.0.0-alpha.20",
45
- "@jupyterlab/docregistry": "^4.0.0-alpha.20",
46
- "@jupyterlab/notebook": "^4.0.0-alpha.20",
47
- "@jupyterlab/observables": "^5.0.0-alpha.20",
48
- "@jupyterlab/ui-components": "^4.0.0-alpha.35",
49
- "@lumino/algorithm": "^2.0.0-rc.0",
50
- "@lumino/commands": "^2.0.0-rc.0",
51
- "@lumino/disposable": "^2.0.0-rc.0",
52
- "@lumino/signaling": "^2.0.0-rc.0",
53
- "@lumino/widgets": "^2.0.0-rc.0"
43
+ "@jupyter/ydoc": "^0.3.4",
44
+ "@jupyterlab/apputils": "^4.0.0-alpha.22",
45
+ "@jupyterlab/cells": "^4.0.0-alpha.22",
46
+ "@jupyterlab/docregistry": "^4.0.0-alpha.22",
47
+ "@jupyterlab/notebook": "^4.0.0-alpha.22",
48
+ "@jupyterlab/observables": "^5.0.0-alpha.22",
49
+ "@jupyterlab/ui-components": "^4.0.0-alpha.37",
50
+ "@lumino/algorithm": "^2.0.0",
51
+ "@lumino/commands": "^2.0.0",
52
+ "@lumino/disposable": "^2.0.0",
53
+ "@lumino/signaling": "^2.0.0",
54
+ "@lumino/widgets": "^2.0.0"
54
55
  },
55
56
  "devDependencies": {
56
- "@jupyterlab/testing": "^4.0.0-alpha.20",
57
+ "@jupyterlab/testing": "^4.0.0-alpha.22",
57
58
  "@types/jest": "^29.2.0",
59
+ "jest": "^29.2.0",
58
60
  "rimraf": "~3.0.0",
59
- "typescript": "~5.0.0-beta"
61
+ "typescript": "~5.0.2"
60
62
  },
61
63
  "publishConfig": {
62
64
  "access": "public"
@@ -3,7 +3,13 @@
3
3
  | Distributed under the terms of the Modified BSD License.
4
4
  |----------------------------------------------------------------------------*/
5
5
  import { createDefaultFactory, ToolbarRegistry } from '@jupyterlab/apputils';
6
- import { Cell, CodeCell, ICellModel, MarkdownCell } from '@jupyterlab/cells';
6
+ import {
7
+ Cell,
8
+ CellModel,
9
+ CodeCell,
10
+ ICellModel,
11
+ MarkdownCell
12
+ } from '@jupyterlab/cells';
7
13
  import { DocumentRegistry } from '@jupyterlab/docregistry';
8
14
  import { Notebook, NotebookPanel } from '@jupyterlab/notebook';
9
15
  import { IObservableList, ObservableList } from '@jupyterlab/observables';
@@ -13,6 +19,7 @@ import { CommandRegistry } from '@lumino/commands';
13
19
  import { IDisposable } from '@lumino/disposable';
14
20
  import { Signal } from '@lumino/signaling';
15
21
  import { PanelLayout, Widget } from '@lumino/widgets';
22
+ import { IMapChange } from '@jupyter/ydoc';
16
23
 
17
24
  /*
18
25
  * Text mime types
@@ -65,12 +72,45 @@ export class CellToolbarTracker implements IDisposable {
65
72
 
66
73
  // Handle subsequent changes of active cell.
67
74
  panel.content.activeCellChanged.connect(this._onActiveCellChanged, this);
75
+ panel.content.activeCell?.model.metadataChanged.connect(
76
+ this._onMetadataChanged,
77
+ this
78
+ );
79
+ panel.disposed.connect(() => {
80
+ panel.content.activeCellChanged.disconnect(this._onActiveCellChanged);
81
+ panel.content.activeCell?.model.metadataChanged.disconnect(
82
+ this._onMetadataChanged
83
+ );
84
+ });
68
85
  }
69
86
 
87
+ _onMetadataChanged(model: CellModel, args: IMapChange) {
88
+ if (args.key === 'jupyter') {
89
+ if (
90
+ typeof args.newValue === 'object' &&
91
+ args.newValue.source_hidden === true &&
92
+ (args.type === 'add' || args.type === 'change')
93
+ ) {
94
+ // Cell just became hidden; remove toolbar
95
+ this._removeToolbar(model);
96
+ }
97
+ // Check whether input visibility changed
98
+ else if (
99
+ typeof args.oldValue === 'object' &&
100
+ args.oldValue.source_hidden === true
101
+ ) {
102
+ // Cell just became visible; add toolbar
103
+ this._addToolbar(model);
104
+ }
105
+ }
106
+ }
70
107
  _onActiveCellChanged(notebook: Notebook): void {
71
108
  if (this._previousActiveCell && !this._previousActiveCell.isDisposed) {
72
109
  // Disposed cells do not have a model anymore.
73
110
  this._removeToolbar(this._previousActiveCell.model);
111
+ this._previousActiveCell.model.metadataChanged.disconnect(
112
+ this._onMetadataChanged
113
+ );
74
114
  }
75
115
 
76
116
  const activeCell = notebook.activeCell;
@@ -78,10 +118,10 @@ export class CellToolbarTracker implements IDisposable {
78
118
  return;
79
119
  }
80
120
 
121
+ activeCell.model.metadataChanged.connect(this._onMetadataChanged, this);
122
+
81
123
  this._addToolbar(activeCell.model);
82
124
  this._previousActiveCell = activeCell;
83
-
84
- this._updateCellForToolbarOverlap(activeCell);
85
125
  }
86
126
 
87
127
  get isDisposed(): boolean {
@@ -122,6 +162,7 @@ export class CellToolbarTracker implements IDisposable {
122
162
  widget instanceof ReactWidget &&
123
163
  (widget as ReactWidget).renderPromise !== undefined
124
164
  ) {
165
+ (widget as ReactWidget).update();
125
166
  promises.push((widget as ReactWidget).renderPromise!);
126
167
  }
127
168
  }
@@ -137,9 +178,12 @@ export class CellToolbarTracker implements IDisposable {
137
178
 
138
179
  // Watch for changes in the cell's contents.
139
180
  cell.model.contentChanged.connect(this._changedEventCallback, this);
181
+
182
+ // Hide the cell toolbar if it overlaps with cell contents
183
+ this._updateCellForToolbarOverlap(cell);
140
184
  })
141
- .catch(() => {
142
- console.error('Error rendering buttons of the cell toolbar');
185
+ .catch(e => {
186
+ console.error('Error rendering buttons of the cell toolbar: ', e);
143
187
  });
144
188
  }
145
189
  }
@@ -322,13 +366,15 @@ export class CellToolbarTracker implements IDisposable {
322
366
  return false; // Nothing in the editor
323
367
  }
324
368
 
325
- const codeMirrorLines =
326
- editorWidget.node.getElementsByClassName('CodeMirror-line');
369
+ const codeMirrorLines = editorWidget.node.getElementsByClassName('cm-line');
327
370
  if (codeMirrorLines.length < 1) {
328
371
  return false; // No lines present
329
372
  }
330
- const lineRight = codeMirrorLines[0].children[0] // First span under first pre
331
- .getBoundingClientRect().right;
373
+
374
+ let lineRight = codeMirrorLines[0].getBoundingClientRect().left;
375
+ const range = document.createRange();
376
+ range.selectNodeContents(codeMirrorLines[0]);
377
+ lineRight += range.getBoundingClientRect().width;
332
378
 
333
379
  const toolbarLeft = this._cellToolbarLeft(activeCell);
334
380