@santinobch/os-window-angular
Version:
Create windows inside a browser window!
52 lines (51 loc) • 1.72 kB
TypeScript
import { CdkDragEnd, CdkDragMove } from '@angular/cdk/drag-drop';
import { ElementRef, Renderer2 } from '@angular/core';
import { OsConfigService } from '../services/os-config/os-config.service';
import { PositionModel } from '../models/Position.model';
import { ResizeModel } from '../models/Resize.model';
import { StyleClass } from './Style.class';
import { SizeModel } from '../models/Size.model';
export declare function clamp(v: Number, min?: number, max?: number): number;
export declare class OsWindowClass {
componentElement: ElementRef<HTMLElement>;
renderer: Renderer2;
globalConfigService: OsConfigService;
styleConfig: StyleClass;
constructor(componentElement: ElementRef<HTMLElement>, renderer: Renderer2, globalConfigService: OsConfigService);
private mousePos;
private anchor;
minHeight: number;
minWidth: number;
size: SizeModel;
position: PositionModel;
cdkAnchors: ResizeModel;
state: {
minimized: boolean;
maximized: boolean;
};
rules: {
disableResize: boolean;
minimizable: boolean;
maximizable: boolean;
closable: boolean;
};
private setStyle;
private getStyle;
private clamp;
private clampHeight;
private clampWidth;
setDimesions(): void;
setPosition(positionStr: string[]): void;
loadRules(): void;
minimize(): void;
maximize(): void;
demaximize(): void;
close(): void;
storeMousePos(event: MouseEvent): void;
startResize(): void;
resize(dragEvent: CdkDragMove, direction: string): void;
resizeDirection(direction: string): void;
endResize(): void;
correctEndPosition(event: CdkDragEnd): void;
focus(): void;
}