import { ConnectedPosition } from '@angular/cdk/overlay'; import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { I18nInterface, I18nService } from 'ng-devui/i18n'; import { ToggleMenuContainerComponent, ToggleMenuListComponent, ToggleMenuSearchComponent } from 'ng-devui/toggle-menu'; import { AppendToBodyDirection, AppendToBodyScrollStrategyType, DevConfigService } from 'ng-devui/utils'; import { Observable, Subscription } from 'rxjs'; import * as i0 from "@angular/core"; export declare class TagsInputComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges, AfterViewInit { private i18n; private devConfigService; private cdr; /** * 【必选】记录输入的标签 */ tags: any[]; /** * 【可选】disabled 灰化状态 */ disabled: boolean; /** * 【可选】使用的属性名 */ displayProperty: string; /** * 【可选】输入的placeholder */ placeholder: string; /** * 【可选】达到最大值时可自定义placeholder */ maxPlaceholder: string; /** * 【可选】输入标签的最小长度 */ minLength: number; /** * 【可选】输入标签的最大长度, 524288为 input 支持最大值 */ maxLength: number; /** * 【可选】标签的最小个数 */ minTags: number; /** * 【可选】标签的最大个数 */ maxTags: number; /** * 【可选】输入框的spellcheck */ spellcheck: boolean; /** * 【可选】是否appendToBody */ appendToBody: boolean; appendToBodyDirections: Array; appendToBodyScrollStrategy: AppendToBodyScrollStrategyType; /** * 【可选】是否虚拟滚动 */ virtualScroll: boolean; /** * 【可选】是否使用下拉列表 */ showSuggestion: boolean; /** * 【可选】下拉选项 */ suggestionList: any; /** * 【可选】是否按空格添加tag */ isAddBySpace: boolean; /** * 【可选】默认两行显示,false 则单行显示 */ multiline: boolean; /** * 【可选】已选中标签容器最大高度 */ maxHeight: string; generateOptionFromInput: boolean; /** * 【可选】大小写敏感 */ caseSensitivity: boolean; itemTemplate: TemplateRef; tagTemplate: TemplateRef; noResultItemTemplate: TemplateRef; checkBeforeGenerate: (newTag: string) => boolean; checkBeforeAdd: (newTag: string) => boolean | Promise | Observable; showAnimation: boolean; styleType: string; /** * 输出函数,当选中某个选项项后,将会调用此函数,参数为当前选择项的值。如果需要获取所有选择状态的值,请参考(ngModelChange)方法 */ valueChange: EventEmitter; searchChange: EventEmitter; tagsInputWrapperItem: ElementRef; selectBoxContainer: ToggleMenuContainerComponent; selectBox: ToggleMenuListComponent; searchBox: ToggleMenuSearchComponent; get getPlaceHolder(): string; newTag: string; availableOptions: any[]; selectedItems: any[]; /** * 对于用户传入的suggestionList不做修改,数据的操作在_suggestionList上进行 */ _suggestionList: any[]; newTagValid: boolean; isReduce: boolean; isOpen: boolean; inputEvent: any; blurEventSubscription: Subscription; valueParser: (item: any) => any; searchFn: (term: string) => Observable>; private DEBOUNCE_TIME; private sourceSubscription; private KEYS; private i18nSubscription; i18nCommonText: I18nInterface['common']; i18nTagsInputText: I18nInterface['tagsInput']; private onChange; private onTouch; constructor(i18n: I18nService, devConfigService: DevConfigService, cdr: ChangeDetectorRef); private setI18nText; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; ngOnInit(): void; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; registerFilterChange(): void; checkIsIncludes(option: any, item: any, isString?: any): boolean; reduceSuggestionList(): void; host_click(): void; passEvent(data: any): void; addSuggestionByIndex(index: any, value: any): void; removeTag(data: any): void; tagIsValid(): boolean; isEmptyString(tag: any): boolean; addTag(): void; canAdd(value?: any): Promise; checkMaxTags(tag: any): void; setValue({ option, index }: { option: any; index: any; }): void; searchInputValueChange(event: any): void; toggleChangeFn(event: any): void; delayResetNewTag(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }