@_mehrad/ngx-chips
Version:
Tag Input component for Angular
194 lines (193 loc) • 4.97 kB
TypeScript
import { EventEmitter, Injector, QueryList, TemplateRef, AfterViewInit } from '@angular/core';
import { Observable } from 'rxjs';
import { Ng2Dropdown, Ng2MenuItem } from 'ng2-material-dropdown';
import { TagInputComponent } from '../tag-input/tag-input';
import { TagModel } from '../../core/tag-model';
import * as i0 from "@angular/core";
export declare class TagInputDropdown implements AfterViewInit {
private readonly injector;
/**
* @name dropdown
*/
dropdown: Ng2Dropdown;
/**
* @name menuTemplate
* @desc reference to the template if provided by the user
*/
templates: QueryList<TemplateRef<any>>;
/**
* @name offset
*/
offset: string;
/**
* @name focusFirstElement
*/
focusFirstElement: boolean;
/**
* - show autocomplete dropdown if the value of input is empty
* @name showDropdownIfEmpty
*/
showDropdownIfEmpty: boolean;
/**
* @description observable passed as input which populates the autocomplete items
* @name autocompleteObservable
*/
autocompleteObservable: (text: string) => Observable<any>;
/**
* - desc minimum text length in order to display the autocomplete dropdown
* @name minimumTextLength
*/
minimumTextLength: number;
/**
* - number of items to display in the autocomplete dropdown
* @name limitItemsTo
*/
limitItemsTo: number;
/**
* @name displayBy
*/
displayBy: string;
/**
* @name identifyBy
*/
identifyBy: string;
/**
* @description a function a developer can use to implement custom matching for the autocomplete
* @name matchingFn
*/
matchingFn: (value: string, target: TagModel) => boolean;
/**
* @name appendToBody
*/
appendToBody: boolean;
/**
* @name keepOpen
* @description option to leave dropdown open when adding a new item
*/
keepOpen: boolean;
/**
* @name dynamicUpdate
*/
dynamicUpdate: boolean;
/**
* @name zIndex
*/
zIndex: number;
/**
* list of items that match the current value of the input (for autocomplete)
* @name items
*/
items: TagModel[];
/**
* @name tagInput
*/
tagInput: TagInputComponent;
/**
* @name _autocompleteItems
*/
private _autocompleteItems;
/**
* @name autocompleteItems
* @param items
*/
set autocompleteItems(items: TagModel[]);
/**
* @name autocompleteItems
* @desc array of items that will populate the autocomplete
*/
get autocompleteItems(): TagModel[];
constructor(injector: Injector);
/**
* @name ngAfterviewInit
*/
ngAfterViewInit(): void;
/**
* @name updatePosition
*/
updatePosition(): void;
/**
* @name isVisible
*/
get isVisible(): boolean;
/**
* @name onHide
*/
onHide(): EventEmitter<Ng2Dropdown>;
/**
* @name onItemClicked
*/
onItemClicked(): EventEmitter<Ng2MenuItem>;
/**
* @name selectedItem
*/
get selectedItem(): Ng2MenuItem;
/**
* @name state
*/
get state(): any;
/**
*
* @name show
*/
show: () => void;
/**
* @name hide
*/
hide(): void;
/**
* @name scrollListener
*/
scrollListener(): void;
/**
* @name onWindowBlur
*/
onWindowBlur(): void;
/**
* @name getFormValue
*/
private getFormValue;
/**
* @name calculatePosition
*/
private calculatePosition;
/**
* @name requestAdding
* @param item {Ng2MenuItem}
*/
private requestAdding;
/**
* @name createTagModel
* @param item
*/
private createTagModel;
/**
*
* @param value {string}
*/
private getMatchingItems;
/**
* @name setItems
*/
private setItems;
/**
* @name resetItems
*/
private resetItems;
/**
* @name populateItems
* @param data
*/
private populateItems;
/**
* @name getItemsFromObservable
* @param text
*/
private getItemsFromObservable;
/**
* @name setLoadingState
* @param state
*/
private setLoadingState;
static ɵfac: i0.ɵɵFactoryDeclaration<TagInputDropdown, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TagInputDropdown, "tag-input-dropdown", never, { "offset": "offset"; "focusFirstElement": "focusFirstElement"; "showDropdownIfEmpty": "showDropdownIfEmpty"; "autocompleteObservable": "autocompleteObservable"; "minimumTextLength": "minimumTextLength"; "limitItemsTo": "limitItemsTo"; "displayBy": "displayBy"; "identifyBy": "identifyBy"; "matchingFn": "matchingFn"; "appendToBody": "appendToBody"; "keepOpen": "keepOpen"; "dynamicUpdate": "dynamicUpdate"; "zIndex": "zIndex"; "autocompleteItems": "autocompleteItems"; }, {}, ["templates"], never, false, never>;
}