123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- import { Location } from '@angular/common';
- import { ComponentRef, ElementRef, NgZone, OnDestroy, OnInit, EventEmitter, EnvironmentInjector } from '@angular/core';
- import type { Provider } from '@angular/core';
- import { OutletContext, Router, ActivatedRoute, Data } from '@angular/router';
- import type { AnimationBuilder } from '@ionic/core/components';
- import { RouteView, StackDidChangeEvent, StackWillChangeEvent } from './stack-utils';
- import * as i0 from "@angular/core";
- export declare abstract class IonRouterOutlet implements OnDestroy, OnInit {
- readonly parentOutlet?: IonRouterOutlet | undefined;
- abstract outletContent: any;
- nativeEl: HTMLIonRouterOutletElement;
- activatedView: RouteView | null;
- tabsPrefix: string | undefined;
- private _swipeGesture?;
- private stackCtrl;
- private proxyMap;
- private currentActivatedRoute$;
- private activated;
- /** @internal */
- get activatedComponentRef(): ComponentRef<any> | null;
- private _activatedRoute;
- /**
- * The name of the outlet
- */
- name: string;
- /** @internal */
- stackWillChange: EventEmitter<StackWillChangeEvent>;
- /** @internal */
- stackDidChange: EventEmitter<StackDidChangeEvent>;
- activateEvents: EventEmitter<any>;
- deactivateEvents: EventEmitter<any>;
- private parentContexts;
- private location;
- private environmentInjector;
- private inputBinder;
- /** @nodoc */
- readonly supportsBindingToComponentInputs = true;
- private config;
- private navCtrl;
- set animation(animation: AnimationBuilder);
- set animated(animated: boolean);
- set swipeGesture(swipe: boolean);
- constructor(name: string, tabs: string, commonLocation: Location, elementRef: ElementRef, router: Router, zone: NgZone, activatedRoute: ActivatedRoute, parentOutlet?: IonRouterOutlet | undefined);
- ngOnDestroy(): void;
- getContext(): OutletContext | null;
- ngOnInit(): void;
- private initializeOutletWithName;
- get isActivated(): boolean;
- get component(): Record<string, unknown>;
- get activatedRoute(): ActivatedRoute;
- get activatedRouteData(): Data;
- /**
- * Called when the `RouteReuseStrategy` instructs to detach the subtree
- */
- detach(): ComponentRef<any>;
- /**
- * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree
- */
- attach(_ref: ComponentRef<any>, _activatedRoute: ActivatedRoute): void;
- deactivate(): void;
- activateWith(activatedRoute: ActivatedRoute, environmentInjector: EnvironmentInjector | null): void;
- /**
- * Returns `true` if there are pages in the stack to go back.
- */
- canGoBack(deep?: number, stackId?: string): boolean;
- /**
- * Resolves to `true` if it the outlet was able to sucessfully pop the last N pages.
- */
- pop(deep?: number, stackId?: string): Promise<boolean>;
- /**
- * Returns the URL of the active page of each stack.
- */
- getLastUrl(stackId?: string): string | undefined;
- /**
- * Returns the RouteView of the active page of each stack.
- * @internal
- */
- getLastRouteView(stackId?: string): RouteView | undefined;
- /**
- * Returns the root view in the tab stack.
- * @internal
- */
- getRootView(stackId?: string): RouteView | undefined;
- /**
- * Returns the active stack ID. In the context of ion-tabs, it means the active tab.
- */
- getActiveStackId(): string | undefined;
- /**
- * Since the activated route can change over the life time of a component in an ion router outlet, we create
- * a proxy so that we can update the values over time as a user navigates back to components already in the stack.
- */
- private createActivatedRouteProxy;
- /**
- * Create a wrapped observable that will switch to the latest activated route matched by the given component
- */
- private proxyObservable;
- /**
- * Updates the activated route proxy for the given component to the new incoming router state
- */
- private updateActivatedRouteProxy;
- static ɵfac: i0.ɵɵFactoryDeclaration<IonRouterOutlet, [{ attribute: "name"; }, { attribute: "tabs"; optional: true; }, null, null, null, null, null, { optional: true; skipSelf: true; }]>;
- static ɵdir: i0.ɵɵDirectiveDeclaration<IonRouterOutlet, "ion-router-outlet", ["outlet"], { "animated": { "alias": "animated"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "swipeGesture": { "alias": "swipeGesture"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, { "stackWillChange": "stackWillChange"; "stackDidChange": "stackDidChange"; "activateEvents": "activate"; "deactivateEvents": "deactivate"; }, never, never, false, never>;
- }
- export declare const provideComponentInputBinding: () => Provider;
|