electron-event-flux
Version:
Redux store which synchronizes between instances in multiple process
47 lines • 2.09 kB
TypeScript
import StoreBase from './StoreBase';
import IMultiWinStore, { IWinProps, IWinParams } from './IMultiWinStore';
interface IWindow {
close(): void;
}
export default class MultiWinStore extends StoreBase implements IMultiWinStore {
clientIds: string[];
clientIdNameMap: {
[clientId: string]: string;
};
clientNameIdMap: {
[winName: string]: string;
};
groupsMap: {
[clientId: string]: string[];
};
clientWins: {
[clientId: string]: IWindow;
};
init(): void;
_addWinProps(clientId: string, win: IWindow | null, winProps: IWinProps): void;
_parseWinProps(winProps: string | IWinProps): IWinProps;
_removeClientId(clientId: string): void;
_createWinForBrowser(winProps: IWinProps | string, parentClientId: string, params: IWinParams): string;
_createWinForElectron(winProps: IWinProps | string, parentClientId: string, params: IWinParams): string | null;
createWin(winProps: IWinProps | string, parentClientId: string, params: IWinParams): string | null;
createOrOpenWin(winName: string, url: string | IWinProps, parentClientId: string, params: any): string | null;
closeWin(clientId: string): void;
closeWinByName(name: string): void;
closeWinByGroup(group: string): void;
activeWin(clientId: string): void;
activeWindow(clientId: string): void;
activeWinByName(name: string): void;
activeWinByGroup(group: string): void;
sendWinMsg(clientId: string, message: any): void;
sendWinMsgByName(name: string, message: any): void;
sendWinMsgByGroup(group: string, message: any): void;
_genClientId(): string;
closeAllWindows(): void;
createBrowserWin(url: string, clientId: string, params?: any): Window | null;
createElectronWin(url: string, clientId: string, parentClientId: string, params: any): string | undefined;
onChangeAction(clientId: string, action: string): void;
changeClientAction(clientId: string, url: string): void;
getWinRootStore(clientId: string): any;
}
export {};
//# sourceMappingURL=MultiWinStore.d.ts.map