ng-select-blur
Version:
Angular ng-select - All in One UI Select, Multiselect and Autocomplete
162 lines (161 loc) • 5.52 kB
TypeScript
import { OnDestroy, OnChanges, AfterViewInit, ChangeDetectorRef, EventEmitter, TemplateRef, ElementRef, SimpleChanges, QueryList, InjectionToken } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { Subject } from "rxjs";
import { ConsoleService } from "./console.service";
import { ItemsList } from "./items-list";
import { NgOption } from "./ng-select.types";
import { NgDropdownPanelComponent } from "./ng-dropdown-panel.component";
import { NgOptionComponent } from "./ng-option.component";
import { SelectionModelFactory } from "./selection-model";
import { NgSelectConfig } from "./config.service";
export declare const SELECTION_MODEL_FACTORY: InjectionToken<SelectionModelFactory>;
export declare type DropdownPosition = "bottom" | "top" | "auto";
export declare type AddTagFn = (term: string) => any | Promise<any>;
export declare type CompareWithFn = (a: any, b: any) => boolean;
export declare class NgSelectComponent implements OnDestroy, OnChanges, AfterViewInit, ControlValueAccessor {
classes: string;
tabIndex: string;
private autoFocus;
private _cd;
private _console;
items: any[];
bindLabel: string;
bindValue: string;
clearable: boolean;
markFirst: boolean;
placeholder: string;
notFoundText: string;
typeToSearchText: string;
addTagText: string;
loadingText: string;
clearAllText: string;
dropdownPosition: DropdownPosition;
appendTo: string;
loading: boolean;
closeOnSelect: boolean;
hideSelected: boolean;
selectOnTab: boolean;
openOnEnter: boolean;
maxSelectedItems: number;
groupBy: string | Function;
groupValue: Function;
bufferAmount: number;
virtualScroll: boolean;
selectableGroup: boolean;
selectableGroupAsModel: boolean;
searchFn: any;
clearOnBackspace: boolean;
selectOnBlur: boolean;
labelForId: any;
typeahead: Subject<string>;
multiple: boolean;
addTag: boolean | AddTagFn;
searchable: boolean;
isOpen: boolean;
compareWith: CompareWithFn;
clearSearchOnAdd: boolean;
blurEvent: EventEmitter<{}>;
focusEvent: EventEmitter<{}>;
changeEvent: EventEmitter<{}>;
openEvent: EventEmitter<{}>;
closeEvent: EventEmitter<{}>;
searchEvent: EventEmitter<{}>;
clearEvent: EventEmitter<{}>;
addEvent: EventEmitter<{}>;
removeEvent: EventEmitter<{}>;
scroll: EventEmitter<{
start: number;
end: number;
}>;
scrollToEnd: EventEmitter<{
start: number;
end: number;
}>;
optionTemplate: TemplateRef<any>;
optgroupTemplate: TemplateRef<any>;
labelTemplate: TemplateRef<any>;
multiLabelTemplate: TemplateRef<any>;
headerTemplate: TemplateRef<any>;
footerTemplate: TemplateRef<any>;
notFoundTemplate: TemplateRef<any>;
typeToSearchTemplate: TemplateRef<any>;
loadingTextTemplate: TemplateRef<any>;
tagTemplate: TemplateRef<any>;
dropdownPanel: NgDropdownPanelComponent;
ngOptions: QueryList<NgOptionComponent>;
filterInput: ElementRef;
disabled: boolean;
readonly filtered: boolean;
itemsList: ItemsList;
viewPortItems: NgOption[];
filterValue: string;
dropdownId: string;
selectedItemId: number;
element: HTMLElement;
focused: boolean;
private _defaultLabel;
private _primitive;
private _manualOpen;
private _pressedKeys;
private _compareWith;
private _clearSearchOnAdd;
private readonly _destroy$;
private readonly _keyPress$;
private _onChange;
private _onTouched;
private filterValueClone;
clearItem: (item: any) => void;
constructor(classes: string, tabIndex: string, autoFocus: any, config: NgSelectConfig, newSelectionModel: SelectionModelFactory, _elementRef: ElementRef, _cd: ChangeDetectorRef, _console: ConsoleService);
readonly selectedItems: NgOption[];
readonly selectedValues: (string | Object)[];
readonly hasValue: boolean;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
handleKeyDown($event: KeyboardEvent): void;
handleMousedown($event: MouseEvent): void;
handleArrowClick(): void;
handleClearClick(): void;
clearModel(): void;
writeValue(value: any | any[]): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
toggle(): void;
open(): void;
close(): void;
toggleItem(item: NgOption): void;
select(item: NgOption): void;
focus(): void;
unselect(item: NgOption): void;
selectTag(): void;
showClear(): boolean;
readonly showAddTag: boolean;
showNoItemsFound(): boolean;
showTypeToSearch(): boolean;
filter(term: string): void;
onInputFocus($event: any): void;
onInputBlur($event: any): void;
onItemHover(item: NgOption): void;
detectChanges(): void;
updateDropdownPosition(): void;
private _setItems;
private _setItemsFromNgOptions;
private _isValidWriteValue;
private _handleWriteValue;
private _handleKeyPresses;
private _updateNgModel;
private _clearSearch;
private _scrollToMarked;
private _scrollToTag;
private _handleTab;
private _handleEnter;
private _handleSpace;
private _handleArrowDown;
private _handleArrowUp;
private _nextItemIsTag;
private _handleBackspace;
private readonly _isTypeahead;
private _mergeGlobalConfig;
}