/// /// /** Angular2 */ import * as ng from "@angular/core"; /** Core */ import { CoreComponent } from "cmf.core/src/core"; import { ModalMode } from 'cmf.core/src/domain/extensions/modal'; /** Bags */ import { PageBag } from './pageBag'; import { ModalHandler } from "../../directives/modalHandler/modalHandler"; /** * This interface holds the current scrollable container which the scroll event must be subscribed. */ export interface ScrollableContainerConfig { container: JQuery; } /** * This is the token that consumers of the scrollable container need to request. */ export declare const SCROLLABLE_CONTAINER_CONFIG: ng.InjectionToken; /** * @whatItDoes * The Page component. * This component serves as the container for a single page. * * @howToUse * This component is used with the inputs and outputs mentioned below. * * ### Inputs * `PageBag` : **page-bag** - This bag can hold data concerning the component, like if it is active or not, title, context ... ; * `boolean` : **isActive** - Tells if the page is currently active or not. When the page is active, we allow the change detection on thr page . * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * * ``` * */ export declare class Page extends CoreComponent implements ng.OnInit, ng.OnChanges, ng.AfterViewInit, ModalHandler { pageBagInjected: PageBag; private _changeDetectorRef; private _scrollContainer; elementRef: ng.ElementRef; /** * Reference to an instance of the Page bag satellite dependency. * This bag can hold data concerning the component, like if it is active or not, title, context,... * Adding/Removing these entries will equate to the instantiation/removal of sub-components. * * @property {PageBag} */ bag: PageBag; /** * Tells if the page is currently active or not. When the page is active, we allow the change detection on thr page. * If it is not active, then we detach the change detection. This is aimed to achieve a better performance and focus * on what's really relevant to user, which is the active page. */ isActive: boolean; /** * Modal container */ modals: PageBag[]; /** * Modal Mode for this component. * By default it's page. */ modalMode: ModalMode; private _scrollContainerElement; /** * @method constructor */ constructor(pageBagInjected: PageBag, _changeDetectorRef: ng.ChangeDetectorRef, _scrollContainer: ScrollableContainerConfig, elementRef: ng.ElementRef); ngOnInit(): void; ngAfterViewInit(): void; ngOnChanges(changes: ng.SimpleChanges): void; } export declare class PageModule { }