ngx-split-view
Version:
A resizable flex-box split layout component for Angular
47 lines (46 loc) • 1.72 kB
TypeScript
import { AfterContentInit, OnChanges, OnDestroy, QueryList, SimpleChanges, ViewContainerRef, EventEmitter, TemplateRef } from '@angular/core';
import { Subject } from 'rxjs';
export declare type SplitDirection = 'horizontal' | 'vertical';
export declare type GutterAlignment = 'start' | 'end' | 'center';
export interface DragEvent {
readonly source: SplitViewComponent;
readonly sizes: ReadonlyArray<number>;
}
export declare class SplitPaneDirective implements OnChanges {
readonly viewContainerRef: ViewContainerRef;
splitRatio: number;
minSize: number;
sizeChanges: Subject<void>;
minSizeChanges: Subject<void>;
constructor(viewContainerRef: ViewContainerRef);
ngOnChanges(changes: SimpleChanges): void;
}
export declare class SplitViewGutterDirective {
readonly template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
}
export declare class SplitViewComponent implements OnChanges, OnDestroy, AfterContentInit {
private readonly viewContainerRef;
dragging: EventEmitter<DragEvent>;
dragStart: EventEmitter<DragEvent>;
dragEnd: EventEmitter<DragEvent>;
expandToMin: boolean;
gutterSize: number;
gutterAlign: GutterAlignment;
snapOffset: number;
dragInterval: number;
direction: SplitDirection;
splitPanes: QueryList<SplitPaneDirective>;
gutterDef: SplitViewGutterDirective;
private split;
private subscriptions;
constructor(viewContainerRef: ViewContainerRef);
get isHorizontal(): boolean;
get isVertical(): boolean;
ngOnChanges(changes: SimpleChanges): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private refresh;
private destroySplit;
private getSizes;
}