@deepkit/desktop-ui
Version:
Library for desktop UI widgets in Angular 10+
69 lines (68 loc) • 2.24 kB
TypeScript
import { ChangeDetectorRef, TemplateRef, ViewContainerRef } from '@angular/core';
import { WindowMenuState } from './window-menu';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
interface WinHeader {
getBottomPosition(): number;
}
interface Win {
id: number;
electronWindow?: any;
getClosestNonDialogWindow(): Win | undefined;
header?: WinHeader;
viewContainerRef: ViewContainerRef;
}
export declare class WindowRegistry {
id: number;
registry: Map<Win, {
state: WindowState;
menu: WindowMenuState;
cd: ChangeDetectorRef;
viewContainerRef: ViewContainerRef;
}>;
windowHistory: Win[];
activeWindow?: Win;
/**
* When BrowserWindow of electron is focused.
*/
focused: BehaviorSubject<boolean>;
constructor();
getAllElectronWindows(): any[];
register(win: Win, cd: ChangeDetectorRef, state: WindowState, menu: WindowMenuState, viewContainerRef: ViewContainerRef): void;
/**
* Finds the activeWindow and returns its most outer parent.
*/
getOuterActiveWindow(): Win | undefined;
getCurrentViewContainerRef(): ViewContainerRef;
focus(win: Win): void;
blur(win: Win): void;
unregister(win: Win): void;
static ɵfac: i0.ɵɵFactoryDeclaration<WindowRegistry, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<WindowRegistry>;
}
interface AlignedButtonGroup {
sidebarMoved: () => void;
activateOneTimeAnimation: () => void;
}
export declare class WindowState {
buttonGroupAlignedToSidebar?: AlignedButtonGroup;
focus: BehaviorSubject<boolean>;
disableInputs: BehaviorSubject<boolean>;
toolbars: {
[name: string]: TemplateRef<any>[];
};
toolbarContainers: {
[name: string]: {
toolbarsUpdated: () => void;
};
};
closable: boolean;
maximizable: boolean;
minimizable: boolean;
constructor();
addToolbarContainer(forName: string, template: TemplateRef<any>): void;
removeToolbarContainer(forName: string, template: TemplateRef<any>): void;
static ɵfac: i0.ɵɵFactoryDeclaration<WindowState, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<WindowState>;
}
export {};