@web-atoms/core
Version:
46 lines • 1.7 kB
TypeScript
import { App } from "../../App";
import { AtomUri } from "../../core/AtomUri";
import { IDisposable, INotifyPropertyChanged } from "../../core/types";
import { AtomControl } from "./AtomControl";
export interface IPageItem {
url: string;
page: AtomControl;
scrollY: number;
}
/**
* Creates and hosts an instance of AtomControl available at given URL. Query string parameters
* from the url will be passed to view model as initial property values.
*
* By default stack is turned off, so elements and controls will be destroyed when new control is hosted.
*/
export declare class AtomFrame extends AtomControl implements INotifyPropertyChanged {
stack: IPageItem[];
get canGoBack(): boolean;
name: string;
keepStack: boolean;
current: AtomControl;
pagePresenter: HTMLElement;
currentDisposable: IDisposable;
backCommand: () => void;
saveScrollPosition: boolean;
private mUrl;
get url(): string;
set url(value: string);
private navigationService;
constructor(app: App, e?: HTMLElement);
onBackCommand(): Promise<void>;
/**
* This will pop page from the stack and set as current
* @param windowClosed true if current page was closed by User Action
*/
popStack(windowClosed?: boolean): void;
canChange(): Promise<boolean>;
push(ctrl: AtomControl): void;
load(url: AtomUri, clearHistory?: boolean): Promise<AtomControl>;
toUpperCase(s: string): string;
protected setUrl(urlString: string): void;
protected loadForReturn(url: AtomUri, clearHistory?: boolean): Promise<any>;
protected clearStack(): void;
protected preCreate(): void;
}
//# sourceMappingURL=AtomFrame.d.ts.map