UNPKG

@rxap/window-system

Version:

A module for creating and managing windows within an Angular application. It provides components for window containers, toolbars, resizers, action bars, and task bars, along with services for managing window instances and configurations. This library allo

72 lines (71 loc) 2.39 kB
import { Overlay, OverlayRef, OverlaySizeConfig } from '@angular/cdk/overlay'; import { Portal } from '@angular/cdk/portal'; import { ComponentRef, EmbeddedViewRef } from '@angular/core'; import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs'; import { WindowSettings } from './window-config'; export declare class WindowRef<D = any, R = any> extends Subject<R> { protected readonly overlayRef: OverlayRef; protected readonly overlay: Overlay; protected readonly settings: WindowSettings<D>; readonly width$: BehaviorSubject<string>; readonly height$: BehaviorSubject<string>; /** * @deprecated removed. use the subscribe method and wait for the resolve event */ readonly closed$: Subject<R | undefined>; attachedRef$: ReplaySubject<ComponentRef<any> | EmbeddedViewRef<any>>; /** * @internal */ footerPortal$: ReplaySubject<Portal<any>>; /** * @internal */ titlePortal$: ReplaySubject<Portal<any>>; settings$: ReplaySubject<WindowSettings<any>>; /** * stores the window size before fullScreen * @internal */ private oldSizes; constructor(overlayRef: OverlayRef, overlay: Overlay, settings: WindowSettings<D>); get id(): string | undefined; get minimizable(): boolean | undefined; get draggable(): boolean | undefined; get minWidth(): string | undefined; get minHeight(): string | undefined; get maxWidth(): string | undefined; get maxHeight(): string | undefined; get isMinimized(): boolean; /** * @deprecated removed. use the complete method * @param result */ close(result?: R): void; complete(): void; minimize(): void; reopen(): void; getSizeConfig(): OverlaySizeConfig; setWidth(width: string): void; setHeight(height: string): void; getWidth(): string; getHeight(): string; setPos(x: string, y: string): void; getPos(): { x: string; y: string; }; fullScreen(): void; /** * @param portal */ setFooterPortal(portal: Portal<any>): void; setTitlePortal(portal: Portal<any>): void; setAttachedRef(attachedRef: ComponentRef<any> | EmbeddedViewRef<any>): void; /** * Injects the window settings from the component ref injector and overwrites * the settings * @private */ private updateWindowSettings; }