ngx-tag-autocomplete
Version:
Tag input component for Angular
67 lines (66 loc) • 2.31 kB
TypeScript
import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms';
export interface AutoCompleteItem {
[index: string]: any;
}
export declare class TagInputComponent implements ControlValueAccessor, OnDestroy, OnInit {
private fb;
private elementRef;
isFocused: any;
addOnBlur: boolean;
addOnComma: boolean;
addOnEnter: boolean;
addOnPaste: boolean;
addOnSpace: boolean;
allowDuplicates: boolean;
allowedTagsPattern: RegExp;
autocomplete: boolean;
private autocompleteItemsValue;
private autocompleteItems;
autocompleteMustMatch: boolean;
autocompleteSelectFirstItem: boolean;
pasteSplitPattern: string;
placeholder: string;
addTag: EventEmitter<string>;
removeTag: EventEmitter<string>;
disallowTag: EventEmitter<string>;
tagInputElement: ElementRef;
private canShowAutoComplete;
private tagInputSubscription;
private splitRegExp;
private readonly tagInputField;
private readonly inputValue;
tagInputForm: FormGroup;
autocompleteResults: string[];
tagsList: string[];
selectedTag: number;
onDocumentClick(event: MouseEvent, target: HTMLElement): void;
constructor(fb: FormBuilder, elementRef: ElementRef);
ngOnInit(): void;
onKeydown(event: KeyboardEvent): void;
onInputBlurred(event: any): void;
onInputFocused(): void;
onInputPaste(event: any): void;
onAutocompleteSelect(selectedItem: any): void;
onAutocompleteEnter(): void;
showAutocomplete(): boolean;
private _splitString(tagString);
private _isTagValid(tagString);
private _isTagUnique(tagString);
private _isTagAutocompleteItem(tagString);
private _emitTagAdded(addedTags);
private _emitTagRemoved(removedTag);
private _emitDisallowedTags(disallowedTags);
private _addTags(tags);
private _removeTag(tagIndexToRemove);
private _handleBackspace();
private _resetSelected();
private _resetInput();
/** Implemented as part of ControlValueAccessor. */
onChange: (value: any) => any;
onTouched: () => any;
writeValue(value: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
ngOnDestroy(): void;
}