UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

65 lines (64 loc) 3.93 kB
import { LiveAnnouncer } from "@angular/cdk/a11y"; import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, QueryList, SimpleChanges } from "@angular/core"; import { OptionValueType } from "../../overlay/types"; import { BaseSelectV2 } from "../base-select-v2"; import { MarkAsSelectedItemDirective } from "../mark-as-selected-item.directive"; import { SelectV2OptionComponent } from "../option/select-v2-option.component"; import { OptionKeyControlService } from "../option-key-control.service"; import { SelectedItemsKeyControlService } from "../selected-items-key-control.service"; import { InputValueTypes } from "../types"; import * as i0 from "@angular/core"; export declare class ComboboxV2Component extends BaseSelectV2 implements AfterContentInit, OnDestroy, OnChanges, AfterViewInit { private selectedItemsKeyControlService; liveAnnouncer: LiveAnnouncer; /** Function that maps an Option's control value to its display value */ displayWith: ((value: any) => string) | null; /** Whether the control for removing value enabled */ isRemoveValueEnabled: boolean; /** Whether to populate the remainder of the text being typed */ isTypeaheadEnabled: boolean; /** Emits event whether options are presented after filtering */ searchEmpty: EventEmitter<boolean>; /** Emits event whether the typed text is unique among presented options */ canCreateOption: EventEmitter<boolean>; /** Grabs and init keyboard navigation service for the "Selected Items" */ set selectedItems(elems: QueryList<MarkAsSelectedItemDirective>); /** Value of the Combobox Input */ inputValue: string | number; /** Text of the Clear Button tooltip */ clearValueButtonTooltip: string; constructor(elRef: ElementRef, optionKeyControlService: OptionKeyControlService<SelectV2OptionComponent>, cdRef: ChangeDetectorRef, selectedItemsKeyControlService: SelectedItemsKeyControlService, liveAnnouncer: LiveAnnouncer); ngAfterContentInit(): void; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; /** Handles behavior on mouseup event */ onMouseUp(target: HTMLElement): void; /** Handles behavior on keydown event */ onKeyDown(event: KeyboardEvent): void; /** Toggles dropdown and removes focus from Selected Items */ toggleDropdown(): void; /** Selects specific option and set its value to the model */ selectOption(option: SelectV2OptionComponent): void; /** * @param {OptionValueType} item Deselect using value * @param {number} item Deselect using index in multiselect values array * Deselects item from Selected Items by index or value */ deselectItem(item: OptionValueType | number): void; /** Handles behavior on Input value change */ handleInput(inputValue: InputValueTypes): void; /** Selects text in Input */ selectTextInInput(): void; /** Sets value to the model */ writeValue(value: OptionValueType | OptionValueType[]): void; /** Clears up Combobox to the initial value */ clearValue(event?: Event, keepDropdown?: boolean): void; ngOnDestroy(): void; protected handleValueChange(value: OptionValueType | OptionValueType[] | null): void; private setInputValue; private filterItems; private emitSearchResults; private isInputValueUnique; static ɵfac: i0.ɵɵFactoryDeclaration<ComboboxV2Component, never>; static ɵcmp: i0.ɵɵComponentDeclaration<ComboboxV2Component, "nui-combobox-v2", never, { "displayWith": { "alias": "displayWith"; "required": false; }; "isRemoveValueEnabled": { "alias": "isRemoveValueEnabled"; "required": false; }; "isTypeaheadEnabled": { "alias": "isTypeaheadEnabled"; "required": false; }; }, { "searchEmpty": "searchEmpty"; "canCreateOption": "canCreateOption"; }, ["selectedItems"], ["[selectedItems]", "*"], false, never>; }