electron-event-flux
Version:
Redux store which synchronizes between instances in multiple process
63 lines • 2.52 kB
TypeScript
import MultiWinStore from './MultiWinStore';
import { IWinState } from './ElectronWindowState';
import { BrowserWindow } from 'electron';
import IStorage from './storage/IStorage';
import { IWinProps, IWinParams } from './IMultiWinStore';
export declare class WindowManager {
windows: {
clientId: string;
window: BrowserWindow;
}[];
winHandler: any;
winSize: number;
constructor(winHandler: MultiWinCacheStore);
genClientId(): string;
createWin(clientId: string): any;
ensureWindows(): void;
getWin(): {
clientId: string;
window: BrowserWindow;
} | undefined;
dispose(): void;
}
interface IClientCacheInfo {
parentId?: string;
clientId: string;
name?: string;
groups?: string[];
url: string;
winState?: IWinState;
}
declare class MultiWinCacheStore extends MultiWinStore {
clientInfoMap: {
[clientId: string]: IClientCacheInfo;
};
willQuit: boolean;
windowManager?: WindowManager;
init(): void;
loadClients(): void;
saveClients(): void;
getDefaultClients(): IClientCacheInfo[];
getStorage(): IStorage | null;
_removeClientId(clientId: string): void;
onDidWinClose(clientId: string): void;
closeWin(clientId: string): void;
saveWinState(clientId: string, winState: IWinState): void;
createWinForClientId(winProps: IWinProps, clientId: string, parentClientId: string | undefined, params: IWinParams): string | null;
createWin(winProps: IWinProps | string, parentClientId: string, params: IWinParams): string | null;
_createWinForElectron(winProps: IWinProps | string, parentClientId: string, params: IWinParams): string | null;
_createElectronWin(url: string | IWinProps, clientId: string | null, parentId: string | undefined, params: IWinState): string | null;
_getElectronWinFromCache(url: string, clientId: string | null, parentId: string | undefined, params: IWinParams): {
clientId: string;
win: BrowserWindow;
};
createNativeWindow(clientId: string, url: string, parentId: string, params: IWinParams): BrowserWindow;
createMainWindow(url: string, clientId: string, parentId: string | undefined, params?: any): BrowserWindow;
onChangeAction(clientId: string, action: string): void;
onCloseMainClient(): void;
onCloseWin(clientId: string): void;
closeAllWindows(): void;
activeWin(clientId: string): void;
}
export default MultiWinCacheStore;
//# sourceMappingURL=MultiWinCacheStore.d.ts.map