/** Core */ import { CoreComponent } from "cmf.core/src/core"; /** Angular2 */ import * as ng from "@angular/core"; import { ScrollableContainerConfig } from "../page/page"; import { PageSection } from "../pageSection/pageSection"; /** * @whatItDoes * * This component creates sections in the page. * Each section can be expanded/collapsed to show its contents. * It also supports for auto loading while scrolling: it loads only the last visible * section header (from the bottom), where the scroll stops. * * By default, it reads all the sections inside and shows a quick jump menu in the right. * Also, the load on scroll is disable. * * For more options, see PageSection component. * * @howToUse * * ### Inputs * `PageSection[]` : **scrollSections** - List of PageSections to be used in the quick-jump menu. This overrides the list * `boolean` : **hideMargin** - Hides the margin * `boolean` : **loadOnScroll** - Loads a new section automatically when the user scrolls into it * * ### Example * This component can be used by the following example: * * ```HTML * * * *
Some content for section 1
*
* * *
This content will only be displayed when the section is active or loaded
*
* *
* ``` * @description * * ## PageSections Component * * ### Dependencies * * #### Directives * * PageSectionModule : `cmf.core.controls` * * ElementQuery : `cmf.core.controls` * * ### Exports * * PageSectionModule : `cmf.core.controls` */ export declare class PageSections extends CoreComponent implements ng.AfterViewInit, ng.OnDestroy, ng.OnChanges, ng.AfterViewChecked { private _element; private _ngZone; private spyScrollContainer; /** * Reference to the Spy element */ private _spyElement; /** * Reference to the content container */ private _contentElement; /** * Stores the element query */ private _elementQuery; /** * Scroll handler */ private scrollHandler; /** * Scroll container element */ private scrollContainer; /** * FLEX: ViewContainerRef of the base page where the injection will occur */ private _basePageViewContainerRef; /** * FLEX: Sections to be used instead of internal when injection occurs */ flexOverrideSections: PageSection[]; /** * Sections to display * If FLEX injected, use those, * if not, use override if available, * if not, use the sections projected into the component */ readonly sections: PageSection[]; /** * Reference to the active section */ activeSection: PageSection; /** * Input boolean to show or hide margin of page. By default the margin is present. */ hideMargin: boolean; /** * Automatically loads the sections on scroll */ loadOnScroll: boolean; /** * Projected sections */ childrenSections: ng.QueryList; /** * Sections to be used instead of internal */ overrideSections: PageSection[]; /** * Hide scrollspy (when pageSections less than 700px) */ hideScrollspy: boolean; /** * The defined height for the scroll spy */ scrollSpyHeight: string; constructor(_element: ng.ElementRef, _ngZone: ng.NgZone, _viewContainerRef: ng.ViewContainerRef, spyScrollContainer: ScrollableContainerConfig); private updateSections; private subscribeScrollEvent; private unsubcribeScrollEvent; private applyCustomization; /** * On changes method * @param changes */ ngOnChanges(changes: ng.SimpleChanges): void; /** * After content init */ ngAfterViewInit(): void; /** * On Destroy Angular handler */ ngOnDestroy(): void; /** * Auto scrolls the scroll spy if the expanded section is not visible there * @param section The section that was expanded */ scrollToScrollSpy(section: PageSection): void; /** * Scrolls into a page section. * @param section Section to scroll to * @param event The click event */ scrollToView(section: PageSection, event?: Event): void; /** * Required for manual inspecting flex components */ ngAfterViewChecked(): void; } export declare class PageSectionsModule { }