UNPKG

flexlayout-react-v7-react-19

Version:

A multi-tab docking layout manager

79 lines (65 loc) 1.78 kB
import { AttributeDefinitions } from "../AttributeDefinitions"; import { Orientation } from "../Orientation"; import { Model } from "./Model"; import { Node } from "./Node"; export class SplitterNode extends Node { static readonly TYPE: string = "splitter"; /** @internal */ constructor(model: Model) { super(model); this._fixed = true; this._attributes.type = SplitterNode.TYPE; model._addNode(this); } /** @internal */ getWidth() { return this._model.getSplitterSize(); } /** @internal */ getMinWidth() { if (this.getOrientation() === Orientation.VERT) { return this._model.getSplitterSize(); } else { return 0; } } /** @internal */ getHeight() { return this._model.getSplitterSize(); } /** @internal */ getMinHeight() { if (this.getOrientation() === Orientation.HORZ) { return this._model.getSplitterSize(); } else { return 0; } } /** @internal */ getMinSize(orientation: Orientation) { if (orientation === Orientation.HORZ) { return this.getMinWidth(); } else { return this.getMinHeight(); } } /** @internal */ getWeight(): number { return 0; } /** @internal */ _setWeight(value: number): void { } /** @internal */ _getPrefSize(orientation: Orientation): number { return this._model.getSplitterSize(); } /** @internal */ _updateAttrs(json: any): void { } /** @internal */ _getAttributeDefinitions(): AttributeDefinitions { return new AttributeDefinitions(); } toJson(): undefined { return undefined; } }