@jupyterlab/application
Version:
JupyterLab - Application
41 lines (40 loc) • 1.4 kB
TypeScript
import { DockPanelSvg } from '@jupyterlab/ui-components';
/**
* A dock panel that freezes heavy panel dimensions during handle drags to
* reduce layout reflow and improve resize performance.
*/
export declare class OptimizedDockPanelSvg extends DockPanelSvg {
/**
* Handle the DOM events for the dock panel.
*
* @param event - The DOM event sent to the panel.
*
* #### Notes
* This method implements the DOM `EventListener` interface and is
* called in response to events registered for the node. It should
* not be called directly by user code.
*/
handleEvent(event: Event): void;
private _isHandlePointerDown;
/**
* Whether resize optimizations are enabled.
*
* When `true` (the default), panels with heavy DOM content have their
* dimensions frozen during a handle drag, avoiding repeated reflows.
* Setting this to `false` immediately unfreezes any frozen panels.
*/
get optimizeResize(): boolean;
set optimizeResize(enabled: boolean);
private _freezeHeavyLeaves;
private _scheduleRefresh;
private _refreshFrozenElements;
private _unfreezeElements;
private _collectHeavyWidgets;
private _isDOMHeavy;
private _optimizeResize;
private _isResizeDragActive;
private _frozenGroups;
private _refreshTimerId;
private _refreshRAFId;
private _intervalId;
}