ng-devui
Version:
DevUI components based on Angular
184 lines (183 loc) • 10.7 kB
TypeScript
import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { NgForm } from '@angular/forms';
import { DatepickerProCalendarComponent } from 'ng-devui/datepicker-pro';
import { DropDownAppendToBodyComponent, DropDownDirective } from 'ng-devui/dropdown';
import { DValidateRules } from 'ng-devui/form';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { ITreeItem, OperableTreeComponent } from 'ng-devui/tree';
import { DateConverter, DevConfigService } from 'ng-devui/utils';
import { Observable, Subject } from 'rxjs';
import { CreateFilterEvent, ExtendedConfig, ICategorySearchTagItem, ITagOption, SearchConfig, SearchEvent, SelectedTagsEvent, TextConfig } from './category-search.type';
import { ContentTemplateDirective } from './content-template.directive';
import { DefaultTemplateDirective } from './default-template.directive';
import * as i0 from "@angular/core";
export declare class CategorySearchComponent implements OnChanges, OnDestroy, AfterViewInit, AfterContentInit {
private doc;
private devConfigService;
private i18n;
private el;
static ID_SEED: number;
category: ICategorySearchTagItem[];
defaultSearchField: any[];
selectedTags: ICategorySearchTagItem[];
/**
* @deprecated
*/
allowClear: boolean;
/**
* @deprecated
*/
allowSave: boolean;
/**
* @deprecated
*/
allowShowMore: boolean;
disabled: boolean;
extendedConfig: ExtendedConfig;
toggleScrollToTail: boolean;
searchKey: string;
placeholderText: string;
inputReadOnly: boolean;
inputAutofocus: boolean;
dropdownBoundary: boolean;
showSearchCategory: SearchConfig | boolean;
categoryInGroup: boolean;
groupOrderConfig: string[];
customGroupNameTemplate: TemplateRef<any>;
customCategoryNameTemplate: TemplateRef<any>;
tagMaxWidth: number;
textConfig: TextConfig;
filterNameRules: DValidateRules;
beforeTagChange: (tag: any, searchKey: any, operation: any) => boolean | Promise<boolean> | Observable<boolean>;
toggleEvent: (dropdown: any, tag?: any, currentSelectTag?: any) => void;
styleType: string;
showGlowStyle: boolean;
get hasGlowStyle(): boolean;
searchEvent: EventEmitter<SearchEvent>;
selectedTagsChange: EventEmitter<SelectedTagsEvent>;
createFilterEvent: EventEmitter<CreateFilterEvent>;
clearAllEvent: EventEmitter<MouseEvent>;
searchKeyChange: EventEmitter<String>;
inputEle: ElementRef;
scrollBarContainer: ElementRef;
primeContainer: ElementRef;
treeInstance: OperableTreeComponent;
selectedDropdownList: QueryList<DropDownDirective>;
defaultTemplates: QueryList<DefaultTemplateDirective>;
contentTemplates: QueryList<ContentTemplateDirective>;
id: number;
searchField: ICategorySearchTagItem[];
categoryDisplay: ICategorySearchTagItem[];
currentSearchCategory: ICategorySearchTagItem[];
currentSelectTag: ICategorySearchTagItem;
dateConverter: DateConverter;
treeSearchKey: string;
filterName: string;
searchKeyCache: string;
enterSearch: boolean;
isShowSavePanel: boolean;
isSearchCategory: boolean;
isHover: boolean;
isFocus: boolean;
treeNoRecord: boolean;
showNoDataTips: boolean;
icons: {
iconParentClose: string;
iconParentOpen: string;
iconLeaf: string;
};
destroy$: Subject<void>;
i18nCommonText: I18nInterface['common'];
i18nCategorySearchText: I18nInterface['categorySearch'];
showSearchConfig: SearchConfig;
currentOpenDropdown: DropDownDirective;
currentScrollTagIndex: number;
blurTimer: any;
scrollTimeout: any;
scrollToTailFlag: boolean;
DROPDOWN_ANIMATION_TIMEOUT: number;
DELAY: number;
templates: {};
customTemplates: {};
treeFactories: {};
joinLabelTypes: string[];
valueIsArrayTypes: string[];
document: Document;
operationConfig: ExtendedConfig;
get showFilterNameClear(): boolean;
get showExtendedConfig(): boolean;
private categoryOrder;
private categoryDictionary;
constructor(doc: any, devConfigService: DevConfigService, i18n: I18nService, el: ElementRef);
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
setCustomTemplate(data: any): void;
setDisabled(): void;
setI18nAndFilterText(data: any): void;
setSearchShow(): void;
setSearchKeyTag(isSearch?: boolean): string;
createSearchKeyTag(isSearch: boolean): void;
setExtendedConfig(): void;
init(): void;
initCategoryItem(item: any): any;
mergeCheck(objValue: any, srcValue: any, key: any): any;
setValue(data: any, isSelectedTags?: boolean): void;
setTitle(tag: ICategorySearchTagItem, type: string, result?: string): string;
initCategoryDisplay(isInit?: boolean): void;
initGroupAndDictionary(): void;
initCategoryOrder(): void;
handleGroupLength(tag: ICategorySearchTagItem, isSelected: boolean, isInit?: boolean): void;
insertCategoryToGroup(groupName: string, groupObj: object, item: ICategorySearchTagItem, isInsert: boolean): void;
searchCategory(item: ICategorySearchTagItem, value?: string): void;
searchInputValue(event?: Event): void;
chooseCategory(item: ICategorySearchTagItem, inputDropdown: DropDownDirective): void;
getSelectedTagsExceptKeyword(): ICategorySearchTagItem[];
updateSelectedTags(tag: ICategorySearchTagItem, valueChanged?: boolean): void;
scrollToTail(isInit?: boolean): void;
scrollToTag(index: number, event: Event): void;
openCurrentScrollTagMenu(event: Event): void;
updateFieldValue(field: ICategorySearchTagItem, value: any): void;
removeTag(tag: ICategorySearchTagItem, event?: Event): void;
checkInputSearching(): void;
focusInput(): void;
blurInput(event: FocusEvent): void;
openMenu(inputDropdown: DropDownDirective, event: Event): void;
closeMenu(inputDropdown: DropDownDirective): void;
backspaceEvent(inputDropdown: DropDownDirective): void;
canChange(tag: ICategorySearchTagItem, operation: 'delete' | 'add'): Promise<boolean>;
finishChoose(): void;
clearFilter(event: MouseEvent): void;
resolveCategoryDisplay(tag: ICategorySearchTagItem, type: string): void;
createFilterFn(): void;
createFilterInputAutoFocus(dropdown: DropDownDirective, inputElm: HTMLElement, filterNameForm: NgForm): void;
searchKeyChangeEvent(event: string): void;
checkType(tag: ICategorySearchTagItem): "all" | "blank";
resetValue(tag: ICategorySearchTagItem): ICategorySearchTagItem;
afterDropdownClosed(): void;
chooseItem(tag: ICategorySearchTagItem, chooseItem: ITagOption): void;
dateChange(datepicker: DatepickerProCalendarComponent, tag: ICategorySearchTagItem): void;
confirmDate(datepicker: DatepickerProCalendarComponent, tag: ICategorySearchTagItem, dropdown: DropDownDirective): void;
chooseItems(tag: ICategorySearchTagItem): void;
getItemValue(value: any, key: string): string;
checkDropdownBoundary(dropdown: DropDownDirective, dropdownMenu: DropDownAppendToBodyComponent): void;
resetContent(dropdown: DropDownDirective, tag?: ICategorySearchTagItem, dropdownMenu?: DropDownAppendToBodyComponent): void;
cacheTreeData(tag: ICategorySearchTagItem): void;
showCurrentSearchCategory(tag: ICategorySearchTagItem, inputDropdown: DropDownDirective): void;
clearCurrentSelectTagFromSearch(): void;
handleAccordingType(tag: ICategorySearchTagItem, dropdown: DropDownDirective, isCurrentSelectTag: boolean): void;
mergeToLabel(obj: any): any;
splitLabel(key: string, value: any): any;
selectAll(tag: ICategorySearchTagItem): void;
isSelectAll(tag: ICategorySearchTagItem, isValue?: boolean): void;
getTextInputValue(tag: ICategorySearchTagItem): void;
getNumberRangeValue(tag: ICategorySearchTagItem, dropdown?: DropDownDirective): void;
getTreeValue(tag: ICategorySearchTagItem, isConfirm?: boolean): void;
initTreeChecked(tag: ICategorySearchTagItem, tree: any, selectedIds: string[]): any;
onOperableNodeChecked(selectedNodes: ITreeItem[], tag: ICategorySearchTagItem): void;
onOperableNodeSelected(selectedNode: ITreeItem, tag: ICategorySearchTagItem): void;
treeSearch(value: string, searchFn?: Function): void;
static ɵfac: i0.ɵɵFactoryDeclaration<CategorySearchComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CategorySearchComponent, "d-category-search", never, { "category": { "alias": "category"; "required": false; }; "defaultSearchField": { "alias": "defaultSearchField"; "required": false; }; "selectedTags": { "alias": "selectedTags"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "allowSave": { "alias": "allowSave"; "required": false; }; "allowShowMore": { "alias": "allowShowMore"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "extendedConfig": { "alias": "extendedConfig"; "required": false; }; "toggleScrollToTail": { "alias": "toggleScrollToTail"; "required": false; }; "searchKey": { "alias": "searchKey"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; "inputReadOnly": { "alias": "inputReadOnly"; "required": false; }; "inputAutofocus": { "alias": "inputAutofocus"; "required": false; }; "dropdownBoundary": { "alias": "dropdownBoundary"; "required": false; }; "showSearchCategory": { "alias": "showSearchCategory"; "required": false; }; "categoryInGroup": { "alias": "categoryInGroup"; "required": false; }; "groupOrderConfig": { "alias": "groupOrderConfig"; "required": false; }; "customGroupNameTemplate": { "alias": "customGroupNameTemplate"; "required": false; }; "customCategoryNameTemplate": { "alias": "customCategoryNameTemplate"; "required": false; }; "tagMaxWidth": { "alias": "tagMaxWidth"; "required": false; }; "textConfig": { "alias": "textConfig"; "required": false; }; "filterNameRules": { "alias": "filterNameRules"; "required": false; }; "beforeTagChange": { "alias": "beforeTagChange"; "required": false; }; "toggleEvent": { "alias": "toggleEvent"; "required": false; }; "styleType": { "alias": "styleType"; "required": false; }; "showGlowStyle": { "alias": "showGlowStyle"; "required": false; }; }, { "searchEvent": "searchEvent"; "selectedTagsChange": "selectedTagsChange"; "createFilterEvent": "createFilterEvent"; "clearAllEvent": "clearAllEvent"; "searchKeyChange": "searchKeyChange"; }, ["contentTemplates"], never, false, never>;
}