ionic-angular
Version:
A powerful framework for building mobile and progressive web apps with JavaScript and Angular
115 lines (114 loc) • 3.75 kB
TypeScript
import { ComponentFactory, ComponentFactoryResolver } from '@angular/core';
import { Location } from '@angular/common';
import { App } from '../components/app/app';
import { NavLink, NavSegment } from './nav-util';
import { ModuleLoader } from '../util/module-loader';
import { Tab, Tabs } from './nav-interfaces';
import { NavController } from './nav-controller';
import { UrlSerializer } from './url-serializer';
import { ViewController } from './view-controller';
/**
* @hidden
*/
export declare class DeepLinker {
_app: App;
_serializer: UrlSerializer;
_location: Location;
_moduleLoader: ModuleLoader;
_baseCfr: ComponentFactoryResolver;
/** @internal */
_segments: NavSegment[];
/** @internal */
_history: string[];
/** @internal */
_indexAliasUrl: string;
constructor(_app: App, _serializer: UrlSerializer, _location: Location, _moduleLoader: ModuleLoader, _baseCfr: ComponentFactoryResolver);
/**
* @internal
*/
init(): void;
/**
* The browser's location has been updated somehow.
* @internal
*/
_urlChange(browserUrl: string): Promise<any>;
/**
* Update the deep linker using the NavController's current active view.
* @internal
*/
navChange(direction: string): void;
/**
* @internal
*/
_updateLocation(browserUrl: string, direction: string): void;
getComponentFromName(componentName: string): Promise<any>;
getNavLinkComponent(link: NavLink): Promise<any>;
/**
* @internal
*/
resolveComponent(component: any): ComponentFactory<any>;
/**
* @internal
*/
createUrl(nav: any, nameOrComponent: any, data: any, prepareExternalUrl?: boolean): string;
/**
* Build a browser URL out of this NavController. Climbs up the tree
* of NavController's to create a string representation of all the
* NavControllers state.
*
* @internal
*/
_pathFromNavs(nav: NavController, component?: any, data?: any): NavSegment[];
/**
* @internal
*/
_getTabSelector(tab: Tab): string;
/**
* @internal
*/
getSelectedTabIndex(tabsNav: Tabs, pathName: string, fallbackIndex?: number): number;
/**
* Each NavController will call this method when it initializes for
* the first time. This allows each NavController to figure out
* where it lives in the path and load up the correct component.
* @internal
*/
initNav(nav: any): NavSegment;
/**
* @internal
*/
initViews(segment: NavSegment): Promise<ViewController[]>;
/**
* Using the known Path of Segments, walk down all descendents
* from the root NavController and load each NavController according
* to each Segment. This is usually called after a browser URL and
* Path changes and needs to update all NavControllers to match
* the new browser URL. Because the URL is already known, it will
* not update the browser's URL when transitions have completed.
*
* @internal
*/
_loadNavFromPath(nav: NavController, done?: Function): void;
/**
* @internal
*/
_loadViewFromSegment(navInstance: any, done: Function): void;
/**
* @internal
*/
_isBackUrl(browserUrl: string): boolean;
/**
* @internal
*/
_isCurrentUrl(browserUrl: string): boolean;
/**
* @internal
*/
_historyPush(browserUrl: string): void;
/**
* @internal
*/
_historyPop(): void;
}
export declare function setupDeepLinker(app: App, serializer: UrlSerializer, location: Location, moduleLoader: ModuleLoader, cfr: ComponentFactoryResolver): DeepLinker;
export declare function normalizeUrl(browserUrl: string): string;