ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
152 lines (151 loc) • 6.31 kB
TypeScript
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { CdkConnectedOverlay, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList, Renderer2, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NzConfigService } from 'ng-zorro-antd/core/config';
import { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';
import { BooleanInput, NgClassType, NgStyleInterface, NzSafeAny } from 'ng-zorro-antd/core/types';
import { NzCascaderI18nInterface, NzI18nService } from 'ng-zorro-antd/i18n';
import { NzCascaderOptionComponent } from './cascader-li.component';
import { NzCascaderService } from './cascader.service';
import { NzCascaderComponentAsSource, NzCascaderExpandTrigger, NzCascaderOption, NzCascaderSize, NzCascaderTriggerType, NzShowSearchOptions } from './typings';
export declare class NzCascaderComponent implements NzCascaderComponentAsSource, OnInit, OnDestroy, ControlValueAccessor {
cascaderService: NzCascaderService;
private i18nService;
nzConfigService: NzConfigService;
private cdr;
noAnimation?: NzNoAnimationDirective | undefined;
static ngAcceptInputType_nzShowInput: BooleanInput;
static ngAcceptInputType_nzShowArrow: BooleanInput;
static ngAcceptInputType_nzAllowClear: BooleanInput;
static ngAcceptInputType_nzAutoFocus: BooleanInput;
static ngAcceptInputType_nzChangeOnSelect: BooleanInput;
static ngAcceptInputType_nzDisabled: BooleanInput;
input: ElementRef;
menu: ElementRef;
overlay: CdkConnectedOverlay;
cascaderItems: QueryList<NzCascaderOptionComponent>;
nzOptionRender: TemplateRef<{
$implicit: NzCascaderOption;
index: number;
}> | null;
nzShowInput: boolean;
nzShowArrow: boolean;
nzAllowClear: boolean;
nzAutoFocus: boolean;
nzChangeOnSelect: boolean;
nzDisabled: boolean;
nzColumnClassName: string;
nzExpandTrigger: NzCascaderExpandTrigger;
nzValueProperty: string;
nzLabelRender: TemplateRef<void>;
nzLabelProperty: string;
nzNotFoundContent: string | TemplateRef<void>;
nzSize: NzCascaderSize;
nzShowSearch: boolean | NzShowSearchOptions;
nzPlaceHolder: string;
nzMenuClassName: string;
nzMenuStyle: NgStyleInterface;
nzMouseEnterDelay: number;
nzMouseLeaveDelay: number;
nzTriggerAction: NzCascaderTriggerType | NzCascaderTriggerType[];
nzChangeOn: (option: NzCascaderOption, level: number) => boolean;
nzLoadData: (node: NzCascaderOption, index?: number) => PromiseLike<NzSafeAny>;
get nzOptions(): NzCascaderOption[] | null;
set nzOptions(options: NzCascaderOption[] | null);
readonly nzVisibleChange: EventEmitter<boolean>;
readonly nzSelectionChange: EventEmitter<import("./typings").CascaderOption[]>;
readonly nzSelect: EventEmitter<{
option: import("./typings").CascaderOption;
index: number;
} | null>;
readonly nzClear: EventEmitter<void>;
/**
* If the dropdown should show the empty content.
* `true` if there's no options.
*/
shouldShowEmpty: boolean;
el: HTMLElement;
dropDownPosition: string;
menuVisible: boolean;
isLoading: boolean;
labelRenderText: string;
labelRenderContext: {};
onChange: Function;
onTouched: Function;
positions: ConnectionPositionPair[];
/**
* Dropdown's with in pixel.
*/
dropdownWidthStyle: string;
dropdownHeightStyle: 'auto' | '';
isFocused: boolean;
locale: NzCascaderI18nInterface;
private destroy$;
private inputString;
private isOpening;
private delayMenuTimer;
private delaySelectTimer;
get inSearchingMode(): boolean;
set inputValue(inputValue: string);
get inputValue(): string;
get menuCls(): NgClassType;
get menuColumnCls(): NgClassType;
private get hasInput();
private get hasValue();
get showPlaceholder(): boolean;
get clearIconVisible(): boolean;
get isLabelRenderTemplate(): boolean;
constructor(cascaderService: NzCascaderService, i18nService: NzI18nService, nzConfigService: NzConfigService, cdr: ChangeDetectorRef, elementRef: ElementRef, renderer: Renderer2, noAnimation?: NzNoAnimationDirective | undefined);
ngOnInit(): void;
ngOnDestroy(): void;
registerOnChange(fn: () => {}): void;
registerOnTouched(fn: () => {}): void;
writeValue(value: NzSafeAny): void;
delaySetMenuVisible(visible: boolean, delay?: number, setOpening?: boolean): void;
setMenuVisible(visible: boolean): void;
private clearDelayMenuTimer;
clearSelection(event?: Event): void;
getSubmitValue(): NzSafeAny[];
focus(): void;
blur(): void;
handleInputBlur(): void;
handleInputFocus(): void;
onKeyDown(event: KeyboardEvent): void;
onTriggerClick(): void;
onTriggerMouseEnter(): void;
onTriggerMouseLeave(event: MouseEvent): void;
onOptionMouseEnter(option: NzCascaderOption, columnIndex: number, event: Event): void;
onOptionMouseLeave(option: NzCascaderOption, _columnIndex: number, event: Event): void;
onOptionClick(option: NzCascaderOption, columnIndex: number, event: Event): void;
private isActionTrigger;
private onEnter;
private moveUpOrDown;
private moveLeft;
private moveRight;
private clearDelaySelectTimer;
private delaySetOptionActivated;
private toggleSearchingMode;
isOptionActivated(option: NzCascaderOption, index: number): boolean;
setDisabledState(isDisabled: boolean): void;
closeMenu(): void;
onPositionChange(position: ConnectedOverlayPositionChange): void;
/**
* Reposition the cascader panel. When a menu opens, the cascader expands
* and may exceed the boundary of browser's window.
*/
private reposition;
/**
* When a cascader options is changed, a child needs to know that it should re-render.
*/
private checkChildren;
private setDisplayLabel;
private setDropdownStyles;
private setLocale;
}