/** Core */ import { CoreComponent } from "cmf.core/src/core"; /** Angular2 */ import * as ng from "@angular/core"; export interface HorizontalStepListItem { index: number; name: string; subtitle?: string; isActive: boolean; obj: any; } /** * @whatItDoes * * Horizontal Step List component is used to provide navigation information to the user while performing a certain task, * including total number of steps, active steps and concluded steps. * * @howToUse * * This component is used with the inputs and outputs mentioned below. * * ### Inputs: * `any` : **data** - The data collection used to populate the horizontalStepList component. * Should be an array in which each position should have two fields : 'mainTitle' and 'isActive' field and an optional 'subtitle' field. * `any` : **value** - The currently selected step object. * * ### Outputs: * `any` : **valueChange** : The selected step change event that gets fired when a certain step is clicked by the user * and it informs the Parent component that the current selected step has changed. * * ### Example * To use the component assume this HTML template as an example: * * ```html * * * ``` * * @description * * ## HorizontalStepList Component * * ### Dependencies * * #### Components * * _This component does not depend on any external component_ * * #### Services * * _This component does not depend on any service_ * * #### Directives * * _This component does not depend on any directive_ * */ export declare class HorizontalStepList extends CoreComponent implements ng.OnInit, ng.OnChanges { /** * variable used to store the component's input data. */ data: any[]; /** * variable used to store the component's input selected step. */ value: any; /** * The data collection used to populate the HorizontalStepList component */ _componentData: Array; /** * private variable used to store the component's input selected step. */ private _value; /** * private variable used to store the current step index and it ables to manipulate CSS classes of the steps at selected steps right * (not done steps) and at its left (done steps) */ _currentIndex: number; /** * The selected step handler event so this component can notify the upper component that the current step has changed. */ notify: ng.EventEmitter; constructor(); /** * sets the private component data with the data passed through the component input */ setComponentData(): any; /** * When the component is initialized sets the component data */ ngOnInit(): void; /** * Whenever there is a change in the HorizontalStepList component inputs, both in 'data' or 'value' values, * the components sets its private variables accordingly. * @param changes */ ngOnChanges(changes: ng.SimpleChanges): void; /** * Sets the _currentIndex private variable in order to be able to manipulate the CSS classes at the selected step right (not done) * and at its left (done) */ private setCurrentSelected; /** * onClick handler to emit a notification to its upper component that the selected step has changed. * @param event * @param elementToChange */ onClick(event: any, elementToChange: any): void; } export declare class HorizontalStepListModule { }