Interface INotebookTracker

An object that tracks notebook widgets.

interface INotebookTracker {
    activeCell: null | Cell<ICellModel>;
    activeCellChanged: ISignal<INotebookTracker, null | Cell<ICellModel>>;
    currentChanged: ISignal<INotebookTracker, null | NotebookPanel>;
    currentWidget: null | NotebookPanel;
    isDisposed: boolean;
    restored: Promise<void>;
    selectionChanged: ISignal<INotebookTracker, void>;
    size: number;
    widgetAdded: ISignal<INotebookTracker, NotebookPanel>;
    widgetUpdated: ISignal<INotebookTracker, NotebookPanel>;
    dispose(): void;
    filter(fn): NotebookPanel[];
    find(fn): undefined | NotebookPanel;
    forEach(fn): void;
    has(obj): boolean;
    inject(obj): void;

Hierarchy (view full)

Implemented by


activeCell: null | Cell<ICellModel>

The currently focused cell.


If there is no cell with the focus, then this value is null.

activeCellChanged: ISignal<INotebookTracker, null | Cell<ICellModel>>

A signal emitted when the current active cell changes.


If there is no cell with the focus, then null will be emitted.

currentChanged: ISignal<INotebookTracker, null | NotebookPanel>

A signal emitted when the current instance changes.


If the last instance being tracked is disposed, null will be emitted.

currentWidget: null | NotebookPanel

The current widget is the most recently focused or added widget.


It is the most recently focused widget, or the most recently added widget if no widget has taken focus.

isDisposed: boolean

Test whether the object has been disposed.


This property is always safe to access.

restored: Promise<void>

A promise that is resolved when the widget tracker has been restored from a serialized state.


Most client code will not need to use this, since they can wait for the whole application to restore. However, if an extension wants to perform actions during the application restoration, but after the restoration of another widget tracker, they can use this promise.

selectionChanged: ISignal<INotebookTracker, void>

A signal emitted when the selection state changes.

size: number

The number of instances held by the tracker.

A signal emitted when a widget is added.

A signal emitted when a widget is updated.


  • Dispose of the resources held by the object.


    If the object's dispose method is called more than once, all calls made after the first will be a no-op.

    Undefined Behavior

    It is undefined behavior to use any functionality of the object after it has been disposed unless otherwise explicitly noted.

    Returns void

  • Filter the instances in the tracker based on a predicate.


    • fn: ((obj) => boolean)

      The function by which to filter.

    Returns NotebookPanel[]

  • Find the first instance in the tracker that satisfies a filter function.


    • fn: ((obj) => boolean)

      The filter function to call on each instance.


      If nothing is found, the value returned is undefined.

    Returns undefined | NotebookPanel

  • Iterate through each instance in the tracker.


    • fn: ((obj) => void)

      The function to call on each instance.

    Returns void

  • Check if this tracker has the specified instance.


    • obj: Widget

      The object whose existence is being checked.

    Returns boolean

  • Inject an instance into the widget tracker without the tracker handling its restoration lifecycle.


    Returns void