@jupyterlab/apputils
Version:
JupyterLab - Application Utilities
36 lines • 1.17 kB
JavaScript
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
import { Signal } from '@lumino/signaling';
/**
* Source and target panels register themselves here so that generic
* section-moving commands can discover them.
*/
export class MovableSectionRegistry {
constructor() {
this._sources = new Map();
this._targets = new Map();
this._sourcePanelRegistered = new Signal(this);
this._targetPanelRegistered = new Signal(this);
}
get sourcePanelRegistered() {
return this._sourcePanelRegistered;
}
get targetPanelRegistered() {
return this._targetPanelRegistered;
}
registerSource(id, label, sidebar) {
this._sources.set(id, { label, sidebar });
this._sourcePanelRegistered.emit({ id, label, sidebar });
}
registerTarget(id, label, panel) {
this._targets.set(id, { label, panel });
this._targetPanelRegistered.emit({ id, label, panel });
}
getSources() {
return this._sources;
}
getTargets() {
return this._targets;
}
}
//# sourceMappingURL=movableSectionRegistry.js.map