@davvidess/angular-split
Version:
Angular UI library to split views and allow dragging to resize areas using CSS flexbox layout.
42 lines (41 loc) • 1.08 kB
TypeScript
import { SplitAreaDirective } from './directive/splitArea.directive';
export interface IPoint {
x: number;
y: number;
}
export interface IArea {
component: SplitAreaDirective;
order: number;
size: number | null;
minSize: number | null;
maxSize: number | null;
}
export interface ISplitSnapshot {
gutterNum: number;
allAreasSizePixel: number;
allInvolvedAreasSizePercent: number;
lastSteppedOffset: number;
areasBeforeGutter: Array<IAreaSnapshot>;
areasAfterGutter: Array<IAreaSnapshot>;
}
export interface IAreaSnapshot {
area: IArea;
sizePixelAtStart: number;
sizePercentAtStart: number;
}
export interface ISplitSideAbsorptionCapacity {
remain: number;
list: Array<IAreaAbsorptionCapacity>;
}
export interface IAreaAbsorptionCapacity {
areaSnapshot: IAreaSnapshot;
pixelAbsorb: number;
percentAfterAbsorption: number;
pixelRemain: number;
}
export interface IOutputData {
gutterNum: number;
sizes: IOutputAreaSizes;
}
export interface IOutputAreaSizes extends Array<number | '*'> {
}