/** Core */ import { CoreComponent } from "cmf.core/src/core"; /** Angular */ import * as ng from "@angular/core"; /** * Interface for one item in the ComboBox */ export interface Item { name: string; value: number; } /** * @whatItDoes * * The EnumComboBox displays a ComboBox for a given Enum. * * It will show in the ComboBox all the entries that are not numbers, as is. * * It should be used then we need to select a value from an Enum. * * This component uses the ComboBox component. * * @howToUse * * This component is used with the inputs and outputs mentioned below. * * ### Inputs * `enum` : **enum** - The enum that needs to be displayed by the ComboBox * `number` : **value** - *(from ComboBox Component)* The current value in the ComboBox * `boolean` : **required** - *(from ComboBox Component)* Indicate if this is required * `string` : **placeholder** - *(from ComboBox Component)* ComboBox placeholder * `boolean` : **disabled** - *(from ComboBox Component)* Indicate if this is disabled * `boolean` : **singleElementPreSelect** - *(from ComboBox Component)* Should select a single element * * ### Outputs * `number` : **onValueChange** - When the value of the Enum changes, this output emits the new value * * ### Example * To use the component, assume this Typescript and HTML Template as an example: * * ```Typescript * enum MyEnum { * Entry1 = 0, * Entry2 = 1 * } * ``` * * ```HTML * * ``` * * This will produce a ComboBox that will show "Entry1" and "Entry2" * * @description * * ## EnumComboBox Component * * ### Dependencies * * #### Components * * ComboBox : `cmf.core.controls` (Ex: `cmf.core.controls`) * */ export declare class EnumComboBox extends CoreComponent implements ng.OnChanges { /** * Enumeration data used to populate the base ComboBox */ _enumData: Item[]; /** * Selected value in the ComboBox */ _enumValue: Item; /** * Enumeration */ enum: any; /** * Current value */ value: number; /** * Event emitter to value changes */ valueChange: ng.EventEmitter; /** * Constructor * * @param viewContainerRef the reference to the component view container */ constructor(viewContainerRef: ng.ViewContainerRef); /** * Handles a value change in the base ComboBox. * Just emit this to the parent component. * @param value Value selected */ onSelectedChange(item: Item): void; /** * On changes method * When the enum changes, rebuild the internal model. * When the value changes, find and select the value from the model. * * @param changes the changes made to the component properties */ ngOnChanges(changes: ng.SimpleChanges): void; } export declare class EnumComboBoxModule { }