/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** Nested components */ import { DropdownElement, ComparisonMode } from "cmf.core.controls/src/components/dropdown/dropdown"; import { OnValidate, OnValidateArgs } from "cmf.core.controls/src/directives/validator/validator"; /** Angular2 */ import * as ng from "@angular/core"; /** * @whatItDoes * * The LookupDropdown component represents all the values on a lookup table as a dropdown where the user can pick one or more values. * It uses the inner dropdown component to adapt to the position where the dropdown is placed. * This component loads the dropdown values from the cache * * @howToUse * * This component requires at least the lookupTableId or the lookupTableName to work, so it can resolve the values being shown. * You should use it in a filter like component. For picking a value in a form please refer to LookupCombobox component * * ### Inputs * `string` : **lookupTableId** - The table name to resolve the values from * `string` : **lookupTableName** - The table id to resolve the values from * `string[]` : **itemsToIgnore** - An array of items to ignore. * The items of the array will be compared with both keys and values of the lookup table * `string` : **mainTitle** - Title being displayed on top of the lookup dropdown * `string` : **subTitle** - Defines the component sub title for the top of the dropdown * `boolean` : **search** - Defines if the inner component has search on the dropdown to type text and look for the values * `boolean` : **multiSelection** - If enabled, will allow the selection of multiple lookup table values * `string` : **allName** - String to show when all / none items are selected * `boolean` : **disabled** - If set to true, will disable the selection of a value and the opening of the dropdown * `boolean` : **required** - If set to true will trigger the validation of the value (has to be different than null) * `Cmf.Foundation.BusinessObjects.LookupTableValue | Cmf.Foundation.BusinessObjects.LookupTableValue[]` : * **value** - Sets the currently selected value on the dropdown * `ComparisonMode` : **comparisonMode** - Comparison mode used for selection, by default is strict * * ### Outputs * `Cmf.Foundation.BusinessObjects.LookupTableValue | Cmf.Foundation.BusinessObjects.LookupTableValue[]` : * **valueChange** - The value change event, so the component can inform the upper components that the value has changed * * ### Example * * ```HTML * * * ``` * * @description * * ## Lookup Dropdown Component * * ### Dependencies * * #### Components * * Dropdown : `cmf.core.controls` * * #### Services * _This component does not depend on any service * * #### Directives * * ValidatorModel : `cmf.core.controls` * */ export declare class LookupDropdown extends CoreComponent implements ng.OnChanges, ng.OnInit, OnValidate { /** * Currently selected lookup value name */ _displayValue: string; /** * Lookup table set to select items in the dropdown */ private _lookupTable; /** * Items being displayed in the dropdown */ _lookupTableItems: Cmf.Foundation.BusinessObjects.LookupTableValue[]; /** * title being displayed on top of the lookup dropdown */ _mainTitle: string; /** * Currently held value of the dropdown */ private _value; /** * Inner value of the dropdown component */ private _innerValue; /** * Items to preselect on the multi selection */ _multiSelectItems: string[]; /** * Mobile filter dropdown */ mobileFilterDropdown: boolean; /** * Defines the component title */ mainTitle: any; /** * Defines the component sub title for the top of the dropdown */ subTitle: string; /** * If set to true, a search box will appear for the user to filter the items in the dropdown. Defaults to false */ search: boolean; /** * If enabled, will allow the selection of multiple lookup table values */ multiSelection: boolean; /** * An array of items to ignore. The items of the array will be compared with both keys and values of the lookup table */ itemsToIgnore: string[]; /** * The value change event, so the component can inform the upper components that the value has changed */ valueChanged: ng.EventEmitter; /** * Id of the lookup table */ lookupTableId: string; /** * Name of the lookup table */ lookupTableName: string; /** * string to show that all / none items are selected */ allName: string; /** * If set to true, will disable the selection */ disabled: boolean; /** * If set to true will trigger the validation of the value (has to be different than null) */ required: boolean; /** * Comparison mode used for selection, by default is strict */ comparisonMode: ComparisonMode; /** * Sets the currently selected value on the dropdown */ value: Cmf.Foundation.BusinessObjects.LookupTableValue | Cmf.Foundation.BusinessObjects.LookupTableValue[]; constructor(); /** * On init method * This is needed in order to be sure that the lookuptable items are filled when loading the component */ ngOnInit(): void; /** * On changes method - update property viewer value field */ ngOnChanges(changes: any): Promise; onSelectItem(item: DropdownElement | DropdownElement[], emitEvent?: boolean): void; /** * Fill the array of items of the loaded lookup table */ private buildLookupTableItems; /** * Internal validation will trigger false when the value is required but is currently set to null */ private internalValidation; /** * Method used to get all the Lookuptable values */ private getLookupTableValues; /** * Validation function * @param context ValidationContext */ onValidate(context: OnValidateArgs): Promise; } export declare class LookupDropdownModule { }