/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** Services */ import { ComboBoxService } from "./comboBoxService"; /** Angular */ import * as ng from "@angular/core"; /** * @whatItDoes * * ComboBox business component is based on combobox component, and it is used to filter and select an item in the provided collection. * It increases combobox functionality by adding a navigation icon that allows the navigation to a specific entity and by adding a progress indicator. * * @howToUse * * This component is used with the inputs and outputs mentioned below. * * ### Inputs * `string` : **orderField** - The entity type field that will be used to sort the data. * `string[]` : **itemsToIgnore** - An array of items to ignore. The items of the array will be compared with the field Value of the lookUpTableValue. * `string` : **dataNameField** - The object field that should be accessed to get the text to display on the list item. * `string` : **dataComparisonField** - The comparison Field. By default is not defined. * `string` : **dataEnabledField** - Gets or sets the enable Field. By default is not defined. * `Object` : **value** - The currently selected value of the comboBox component. * `string` : **placeholder** - Defines the component placeholder - overriding the default component placeholder (lookupTableName). * `boolean` : **required** - Defines if the component requires a value. Default is false. * `boolean` : **disabled** - Defines if the element is disabled to be filed. * `string` : **rowTemplate** - Row template to be used in the comboBox. String with HTML. Ex: #: data.text # * `boolean` : **singleElementPreSelect** - Defines if the component should pre-select when there's only one element available. Default is 'true'. * `Cmf.Foundation.Common.ReferenceType | string` : **navigationReferenceType** - Navigation business control reference type - used to pick the icon. * `string` : **navigationReferenceTypeName** - Navigation business control reference type name - used to pick the icon. * `boolean` : **hasNavigation** - If combo box has should have navigation. Default value is true. * `string` : **enabled-field** - The object field that should be accessed to determine if the element will appear enabled or not. * * ### Outputs * `Object` : **valueChanged** - The selected value change event, so the component can inform the upper components that the selected value has changed. * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * * ``` * * @description * * ## Business ComboBox Component * * ### Dependencies * * #### Components * * ComboBox : `cmf.core.controls` * * Navigation : `cmf.core.business.controls` * * #### Services * * ComboBoxService : `cmf.core.business.controls` * * #### Directives * _This component does not depend on any directive_ * */ export declare class BusinessComboBox extends CoreComponent { private _elementRef; private _comboBoxService; /** * Defines if the component is currently "busy" - used to display a progress indicator */ _busy: boolean; /** * The data collection, indirectly, used to populate the comboBox component. Must have at least one textual field. */ _data: any[]; /** * Navigation business control instance - used to define link */ private _navigationInstance; /** * Defines if the element is disabled to be filed */ disabled: boolean; /** * Defines if the component requires a value. Default is false. */ required: boolean; /** * Defines the component placeholder - overriding the default component placeholder (lookupTableName) */ placeholder: string; /** * Defines if the component should pre-select when there's only one element available. Default is 'true'. */ singleElementPreSelect: boolean; /** * An array of items to ignore. The items of the array will be compared with the field Value of the lookUpTableValue * * @property {string[]} array of Values to Ignore */ itemsToIgnore: string[]; /** * The entity type field that will be used to sort the data * * @property {string} The object field designation */ orderField: string; /** * The currently selected value of the comboBox component * * @property {any} selected value of the select component */ value: any; /** * The object field that should be accessed to get the text to display on the list item * * @property {string} the field designation */ dataNameField: string; /** * Gets or sets the comparison Field. By default is not defined. */ dataComparisonField: string; /** * Gets or sets the enable Field. By default is not defined. */ dataEnabledField: string; /** * Row template to be used in the comboBox */ rowTemplate: string; /** * Navigation business control reference type - used to pick the icon */ navigationReferenceType: Cmf.Foundation.Common.ReferenceType | string; /** * Navigation business control reference type name - used to pick the icon */ navigationReferenceTypeName: string; /** * If combo box has should have navigation. Default value is true. */ hasNavigation: boolean; /** * The selected value change event, so the component can inform the upper components that the selected value has changed * * @property {ng.EventEmitter} init event */ valueChanged: ng.EventEmitter; constructor(_elementRef: ng.ElementRef, _comboBoxService: ComboBoxService); /** * Explicitly gets new data from combo box service * Will return an empty promise when data is loaded */ refreshData(): Promise; /** * When selected value changes - notify parent component */ onValueChange(value: any): void; } export declare class BusinessComboBoxModule { }