ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
123 lines (122 loc) • 4.52 kB
TypeScript
/**
* 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 { OnDestroy } from '@angular/core';
import { BehaviorSubject, Subject } from 'rxjs';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { NzCascaderComponentAsSource, NzCascaderOption, NzCascaderSearchOption } from './typings';
import * as i0 from "@angular/core";
/**
* All data is stored and parsed in NzCascaderService.
*/
export declare class NzCascaderService implements OnDestroy {
/** Activated options in each column. */
activatedOptions: NzCascaderOption[];
/** An array to store cascader items arranged in different layers. */
columns: NzCascaderOption[][];
/** If user has entered searching mode. */
inSearchingMode: boolean;
/** Selected options would be output to user. */
selectedOptions: NzCascaderOption[];
values: NzSafeAny[];
readonly $loading: BehaviorSubject<boolean>;
/**
* Emit an event to notify cascader it needs to redraw because activated or
* selected options are changed.
*/
readonly $redraw: Subject<void>;
/**
* Emit an event when an option gets selected.
* Emit true if a leaf options is selected.
*/
readonly $optionSelected: Subject<{
option: NzCascaderOption;
index: number;
} | null>;
/**
* Emit an event to notify cascader it needs to quit searching mode.
* Only emit when user do select a searching option.
*/
readonly $quitSearching: Subject<void>;
/** To hold columns before entering searching mode. */
private columnsSnapshot;
/** To hold activated options before entering searching mode. */
private activatedOptionsSnapshot;
private cascaderComponent;
/** Return cascader options in the first layer. */
get nzOptions(): NzCascaderOption[];
ngOnDestroy(): void;
/**
* Make sure that value matches what is displayed in the dropdown.
*/
syncOptions(first?: boolean): void;
/**
* Bind cascader component so this service could use inputs.
*/
withComponent(cascaderComponent: NzCascaderComponentAsSource): void;
/**
* Reset all options. Rebuild searching options if in searching mode.
*/
withOptions(options: NzCascaderOption[] | null): void;
/**
* Try to set a option as activated.
*
* @param option Cascader option
* @param columnIndex Of which column this option is in
* @param performSelect Select
* @param loadingChildren Try to load children asynchronously.
*/
setOptionActivated(option: NzCascaderOption, columnIndex: number, performSelect?: boolean, loadingChildren?: boolean): void;
setOptionSelected(option: NzCascaderOption, index: number): void;
setOptionDeactivatedSinceColumn(column: number): void;
/**
* Set a searching option as selected, finishing up things.
*
* @param option
*/
setSearchOptionSelected(option: NzCascaderSearchOption): void;
/**
* Filter cascader options to reset `columns`.
*
* @param searchValue The string user wants to search.
*/
prepareSearchOptions(searchValue: string): void;
/**
* Toggle searching mode by UI. It deals with things not directly related to UI.
*
* @param toSearching If this cascader is entering searching mode
*/
toggleSearchingMode(toSearching: boolean): void;
/**
* Clear selected options.
*/
clear(): void;
getOptionLabel(o: NzCascaderOption): string;
getOptionValue(o: NzCascaderOption): NzSafeAny;
/**
* Try to insert options into a column.
*
* @param options Options to insert
* @param columnIndex Position
*/
private setColumnData;
/**
* Set all ancestor options as activated.
*/
private trackAncestorActivatedOptions;
private dropBehindActivatedOptions;
private dropBehindColumns;
/**
* Load children of an option asynchronously.
*/
loadChildren(option: NzCascaderOption | NzSafeAny, columnIndex: number, success?: VoidFunction, failure?: VoidFunction): void;
private isLoaded;
/**
* Find a option that has a given value in a given column.
*/
private findOptionWithValue;
private prepareEmitValue;
static ɵfac: i0.ɵɵFactoryDeclaration<NzCascaderService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NzCascaderService>;
}