ngx-bootrap-multiselect
Version:
Customizable multiselect dropdown in Angular 2 with bootstrap css.
93 lines (92 loc) • 3.7 kB
TypeScript
import { ChangeDetectorRef, DoCheck, EventEmitter, IterableDiffers, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, Validator } from '@angular/forms';
import { MultiSelectSearchFilter } from './search-filter.pipe';
import { IMultiSelectOption, IMultiSelectSettings, IMultiSelectTexts } from './types';
import { Subject, Observable } from 'rxjs';
export declare class NgxDropdownMultiselectComponent implements OnInit, OnChanges, DoCheck, OnDestroy, ControlValueAccessor, Validator {
private fb;
private searchFilter;
private cdRef;
private localIsVisible;
private workerDocClicked;
filterControl: FormControl;
options: Array<IMultiSelectOption>;
settings: IMultiSelectSettings;
texts: IMultiSelectTexts;
disabled: boolean;
disabledSelection: boolean;
searchFunction: (str: string) => RegExp;
selectionLimitReached: EventEmitter<any>;
dropdownClosed: EventEmitter<any>;
dropdownOpened: EventEmitter<any>;
added: EventEmitter<any>;
removed: EventEmitter<any>;
lazyLoad: EventEmitter<any>;
filter: Observable<string>;
get focusBack(): boolean;
destroyed$: Subject<any>;
filteredOptions: IMultiSelectOption[];
lazyLoadOptions: IMultiSelectOption[];
renderFilteredOptions: IMultiSelectOption[];
model: any[];
prevModel: any[];
parents: any[];
title: string;
differ: any;
numSelected: number;
set isVisible(val: boolean);
get isVisible(): boolean;
renderItems: boolean;
checkAllSearchRegister: Set<unknown>;
checkAllStatus: boolean;
loadedValueIds: any[];
_focusBack: boolean;
focusedItem: IMultiSelectOption | undefined;
defaultSettings: IMultiSelectSettings;
defaultTexts: IMultiSelectTexts;
get searchLimit(): number | undefined;
get searchRenderAfter(): number | undefined;
get searchLimitApplied(): boolean;
constructor(fb: FormBuilder, searchFilter: MultiSelectSearchFilter, differs: IterableDiffers, cdRef: ChangeDetectorRef);
clickedOutside(): void;
getItemStyle(option: IMultiSelectOption): any;
getItemStyleSelectionDisabled(): any;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
updateRenderItems(): void;
applyFilters(options: IMultiSelectOption[], value: string): IMultiSelectOption[];
fireModelChange(): void;
onModelChange: Function;
onModelTouched: Function;
writeValue(value: any): void;
registerOnChange(fn: Function): void;
registerOnTouched(fn: Function): void;
setDisabledState(isDisabled: boolean): void;
ngDoCheck(): void;
validate(_c: AbstractControl): {
[key: string]: any;
};
registerOnValidatorChange(_fn: () => void): void;
clearSearch(event: Event): void;
toggleDropdown(e?: Event): void;
closeDropdown(e?: Event): void;
isSelected(option: IMultiSelectOption): boolean;
setSelected(_event: Event, option: IMultiSelectOption): void;
updateNumSelected(): void;
updateTitle(): void;
searchFilterApplied(): boolean;
addChecks(options: any): void;
checkAll(): void;
uncheckAll(): void;
preventCheckboxCheck(event: Event, option: IMultiSelectOption): void;
isCheckboxDisabled(option?: IMultiSelectOption): boolean;
checkScrollPosition(ev: any): void;
checkScrollPropagation(ev: any, element: any): void;
trackById(idx: number, selectOption: IMultiSelectOption): void;
load(): void;
focusItem(dir: number, e?: Event): void;
private maybePreventDefault;
private maybeStopPropagation;
private _escapeRegExp;
}