@web-atoms/core
Version:
48 lines • 1.78 kB
TypeScript
import { App } from "../../App";
import { AtomList } from "../../core/AtomList";
import { AtomUri } from "../../core/AtomUri";
import { IClassOf, INotifyPropertyChanged } from "../../core/types";
import XNode from "../../core/XNode";
import { AtomViewModel } from "../../view-model/AtomViewModel";
import { WindowService } from "../services/WindowService";
import { AtomControl } from "./AtomControl";
import { AtomPage } from "./AtomPage";
export declare class AtomTabbedPage extends AtomControl implements INotifyPropertyChanged {
static titleTemplate: (attributes: Partial<unknown>, ...nodes: XNode[]) => XNode;
localViewModel: AtomTabViewModel;
tabChannelName: string;
titleTemplate: IClassOf<AtomControl>;
presenter: HTMLElement;
private mWindowService;
protected get windowService(): WindowService;
private mSelectedPage;
get selectedPage(): AtomPage;
set selectedPage(value: AtomPage);
constructor(app: App, e?: HTMLElement);
protected preCreate(): void;
private getParentHost;
}
interface ITabState {
urls: string[];
selectedUrl: string;
}
declare class AtomTabViewModel extends AtomViewModel {
private owner;
pages: AtomList<AtomPage>;
selectedPage: AtomPage;
selectedUrl: string;
channel: string;
storageKey: string;
tabState: ITabState;
private pageUpdater;
private navigationService;
constructor(app: App, owner: AtomTabbedPage);
init(): Promise<any>;
watchSelectedPage(): void;
closePage(page: AtomPage): void;
protected saveState(a?: any): void;
protected loadPageForReturn(url: AtomUri): Promise<any>;
protected loadPage(url: AtomUri, doNotSetSelected: boolean): Promise<AtomPage>;
}
export {};
//# sourceMappingURL=AtomTabbedPage.d.ts.map