@nova-ui/bits
Version:
SolarWinds Nova Framework
65 lines (64 loc) • 3.93 kB
TypeScript
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>;
}