ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1,134 lines • 96.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: select.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __decorate, __metadata, __read, __spread } from "tslib";
/**
* @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 { FocusMonitor } from '@angular/cdk/a11y';
import { DOWN_ARROW, ENTER, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
import { Platform } from '@angular/cdk/platform';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Host, Input, Optional, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { slideMotion } from 'ng-zorro-antd/core/animation';
import { NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';
import { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';
import { InputBoolean } from 'ng-zorro-antd/core/util';
import { BehaviorSubject, combineLatest, merge, Subject } from 'rxjs';
import { startWith, switchMap, takeUntil } from 'rxjs/operators';
import { NzOptionGroupComponent } from './option-group.component';
import { NzOptionComponent } from './option.component';
import { NzSelectTopControlComponent } from './select-top-control.component';
/** @type {?} */
var defaultFilterOption = (/**
* @param {?} searchValue
* @param {?} item
* @return {?}
*/
function (searchValue, item) {
if (item && item.nzLabel) {
return item.nzLabel.toLowerCase().indexOf(searchValue.toLowerCase()) > -1;
}
else {
return false;
}
});
var ɵ0 = defaultFilterOption;
/** @type {?} */
var NZ_CONFIG_COMPONENT_NAME = 'select';
var NzSelectComponent = /** @class */ (function () {
function NzSelectComponent(nzConfigService, cdr, elementRef, platform, focusMonitor, noAnimation) {
this.nzConfigService = nzConfigService;
this.cdr = cdr;
this.elementRef = elementRef;
this.platform = platform;
this.focusMonitor = focusMonitor;
this.noAnimation = noAnimation;
this.nzSize = 'default';
this.nzOptionHeightPx = 32;
this.nzOptionOverflowSize = 8;
this.nzDropdownClassName = null;
this.nzDropdownMatchSelectWidth = true;
this.nzDropdownStyle = null;
this.nzNotFoundContent = undefined;
this.nzPlaceHolder = null;
this.nzMaxTagCount = Infinity;
this.nzDropdownRender = null;
this.nzCustomTemplate = null;
this.nzClearIcon = null;
this.nzRemoveIcon = null;
this.nzMenuItemSelectedIcon = null;
this.nzShowArrow = true;
this.nzTokenSeparators = [];
this.nzMaxTagPlaceholder = null;
this.nzMaxMultipleCount = Infinity;
this.nzMode = 'default';
this.nzFilterOption = defaultFilterOption;
this.compareWith = (/**
* @param {?} o1
* @param {?} o2
* @return {?}
*/
function (o1, o2) { return o1 === o2; });
this.nzAllowClear = false;
this.nzBorderless = false;
this.nzShowSearch = false;
this.nzLoading = false;
this.nzAutoFocus = false;
this.nzAutoClearSearchValue = true;
this.nzServerSearch = false;
this.nzDisabled = false;
this.nzOpen = false;
this.nzOptions = [];
this.nzOnSearch = new EventEmitter();
this.nzScrollToBottom = new EventEmitter();
this.nzOpenChange = new EventEmitter();
this.nzBlur = new EventEmitter();
this.nzFocus = new EventEmitter();
this.listOfValue$ = new BehaviorSubject([]);
this.listOfTemplateItem$ = new BehaviorSubject([]);
this.listOfTagAndTemplateItem = [];
this.searchValue = '';
this.isReactiveDriven = false;
this.destroy$ = new Subject();
this.onChange = (/**
* @return {?}
*/
function () { });
this.onTouched = (/**
* @return {?}
*/
function () { });
this.dropDownPosition = 'bottom';
this.triggerWidth = null;
this.listOfContainerItem = [];
this.listOfTopItem = [];
this.activatedValue = null;
this.listOfValue = [];
}
/**
* @param {?} value
* @return {?}
*/
NzSelectComponent.prototype.generateTagItem = /**
* @param {?} value
* @return {?}
*/
function (value) {
return {
nzValue: value,
nzLabel: value,
type: 'item'
};
};
/**
* @param {?} value
* @return {?}
*/
NzSelectComponent.prototype.onItemClick = /**
* @param {?} value
* @return {?}
*/
function (value) {
var _this = this;
this.activatedValue = value;
if (this.nzMode === 'default') {
if (this.listOfValue.length === 0 || !this.compareWith(this.listOfValue[0], value)) {
this.updateListOfValue([value]);
}
this.setOpenState(false);
}
else {
/** @type {?} */
var targetIndex_1 = this.listOfValue.findIndex((/**
* @param {?} o
* @return {?}
*/
function (o) { return _this.compareWith(o, value); }));
if (targetIndex_1 !== -1) {
/** @type {?} */
var listOfValueAfterRemoved = this.listOfValue.filter((/**
* @param {?} _
* @param {?} i
* @return {?}
*/
function (_, i) { return i !== targetIndex_1; }));
this.updateListOfValue(listOfValueAfterRemoved);
}
else if (this.listOfValue.length < this.nzMaxMultipleCount) {
/** @type {?} */
var listOfValueAfterAdded = __spread(this.listOfValue, [value]);
this.updateListOfValue(listOfValueAfterAdded);
}
this.focus();
if (this.nzAutoClearSearchValue) {
this.clearInput();
}
}
};
/**
* @param {?} item
* @return {?}
*/
NzSelectComponent.prototype.onItemDelete = /**
* @param {?} item
* @return {?}
*/
function (item) {
var _this = this;
/** @type {?} */
var listOfSelectedValue = this.listOfValue.filter((/**
* @param {?} v
* @return {?}
*/
function (v) { return !_this.compareWith(v, item.nzValue); }));
this.updateListOfValue(listOfSelectedValue);
this.clearInput();
};
/**
* @return {?}
*/
NzSelectComponent.prototype.updateListOfContainerItem = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var listOfContainerItem = this.listOfTagAndTemplateItem
.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return !item.nzHide; }))
.filter((/**
* @param {?} item
* @return {?}
*/
function (item) {
if (!_this.nzServerSearch && _this.searchValue) {
return _this.nzFilterOption(_this.searchValue, item);
}
else {
return true;
}
}));
if (this.nzMode === 'tags' &&
this.searchValue &&
this.listOfTagAndTemplateItem.findIndex((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.nzLabel === _this.searchValue; })) === -1) {
/** @type {?} */
var tagItem = this.generateTagItem(this.searchValue);
listOfContainerItem = __spread([tagItem], listOfContainerItem);
this.activatedValue = tagItem.nzValue;
}
if (this.listOfValue.length !== 0 &&
listOfContainerItem.findIndex((/**
* @param {?} item
* @return {?}
*/
function (item) { return _this.compareWith(item.nzValue, _this.activatedValue); })) === -1) {
/** @type {?} */
var activatedItem = listOfContainerItem.find((/**
* @param {?} item
* @return {?}
*/
function (item) { return _this.compareWith(item.nzValue, _this.listOfValue[0]); })) || listOfContainerItem[0];
this.activatedValue = (activatedItem && activatedItem.nzValue) || null;
}
/** @type {?} */
var listOfGroupLabel = [];
if (this.isReactiveDriven) {
listOfGroupLabel = __spread(new Set(this.nzOptions.filter((/**
* @param {?} o
* @return {?}
*/
function (o) { return o.groupLabel; })).map((/**
* @param {?} o
* @return {?}
*/
function (o) { return (/** @type {?} */ (o.groupLabel)); }))));
}
else {
if (this.listOfNzOptionGroupComponent) {
listOfGroupLabel = this.listOfNzOptionGroupComponent.map((/**
* @param {?} o
* @return {?}
*/
function (o) { return o.nzLabel; }));
}
}
/** insert group item **/
listOfGroupLabel.forEach((/**
* @param {?} label
* @return {?}
*/
function (label) {
/** @type {?} */
var index = listOfContainerItem.findIndex((/**
* @param {?} item
* @return {?}
*/
function (item) { return label === item.groupLabel; }));
/** @type {?} */
var groupItem = (/** @type {?} */ ({ groupLabel: label, type: 'group', key: label }));
listOfContainerItem.splice(index, 0, groupItem);
}));
this.listOfContainerItem = __spread(listOfContainerItem);
this.updateCdkConnectedOverlayPositions();
};
/**
* @return {?}
*/
NzSelectComponent.prototype.clearInput = /**
* @return {?}
*/
function () {
this.nzSelectTopControlComponent.clearInputValue();
};
/**
* @param {?} listOfValue
* @return {?}
*/
NzSelectComponent.prototype.updateListOfValue = /**
* @param {?} listOfValue
* @return {?}
*/
function (listOfValue) {
/** @type {?} */
var covertListToModel = (/**
* @param {?} list
* @param {?} mode
* @return {?}
*/
function (list, mode) {
if (mode === 'default') {
if (list.length > 0) {
return list[0];
}
else {
return null;
}
}
else {
return list;
}
});
/** @type {?} */
var model = covertListToModel(listOfValue, this.nzMode);
if (this.value !== model) {
this.listOfValue = listOfValue;
this.listOfValue$.next(listOfValue);
this.value = model;
this.onChange(this.value);
}
};
/**
* @param {?} listOfLabel
* @return {?}
*/
NzSelectComponent.prototype.onTokenSeparate = /**
* @param {?} listOfLabel
* @return {?}
*/
function (listOfLabel) {
var _this = this;
/** @type {?} */
var listOfMatchedValue = this.listOfTagAndTemplateItem
.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return listOfLabel.findIndex((/**
* @param {?} label
* @return {?}
*/
function (label) { return label === item.nzLabel; })) !== -1; }))
.map((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.nzValue; }))
.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return _this.listOfValue.findIndex((/**
* @param {?} v
* @return {?}
*/
function (v) { return _this.compareWith(v, item); })) === -1; }));
if (this.nzMode === 'multiple') {
this.updateListOfValue(__spread(this.listOfValue, listOfMatchedValue));
}
else if (this.nzMode === 'tags') {
/** @type {?} */
var listOfUnMatchedLabel = listOfLabel.filter((/**
* @param {?} label
* @return {?}
*/
function (label) { return _this.listOfTagAndTemplateItem.findIndex((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.nzLabel === label; })) === -1; }));
this.updateListOfValue(__spread(this.listOfValue, listOfMatchedValue, listOfUnMatchedLabel));
}
this.clearInput();
};
/**
* @param {?} e
* @return {?}
*/
NzSelectComponent.prototype.onKeyDown = /**
* @param {?} e
* @return {?}
*/
function (e) {
var _this = this;
if (this.nzDisabled) {
return;
}
/** @type {?} */
var listOfFilteredOptionNotDisabled = this.listOfContainerItem.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return item.type === 'item'; })).filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return !item.nzDisabled; }));
/** @type {?} */
var activatedIndex = listOfFilteredOptionNotDisabled.findIndex((/**
* @param {?} item
* @return {?}
*/
function (item) { return _this.compareWith(item.nzValue, _this.activatedValue); }));
switch (e.keyCode) {
case UP_ARROW:
e.preventDefault();
if (this.nzOpen) {
/** @type {?} */
var preIndex = activatedIndex > 0 ? activatedIndex - 1 : listOfFilteredOptionNotDisabled.length - 1;
this.activatedValue = listOfFilteredOptionNotDisabled[preIndex].nzValue;
}
break;
case DOWN_ARROW:
e.preventDefault();
if (this.nzOpen) {
/** @type {?} */
var nextIndex = activatedIndex < listOfFilteredOptionNotDisabled.length - 1 ? activatedIndex + 1 : 0;
this.activatedValue = listOfFilteredOptionNotDisabled[nextIndex].nzValue;
}
else {
this.setOpenState(true);
}
break;
case ENTER:
e.preventDefault();
if (this.nzOpen) {
if (this.activatedValue) {
this.onItemClick(this.activatedValue);
}
}
else {
this.setOpenState(true);
}
break;
case SPACE:
if (!this.nzOpen) {
this.setOpenState(true);
e.preventDefault();
}
break;
case TAB:
this.setOpenState(false);
break;
}
};
/**
* @param {?} value
* @return {?}
*/
NzSelectComponent.prototype.setOpenState = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (this.nzOpen !== value) {
this.nzOpen = value;
this.nzOpenChange.emit(value);
this.onOpenChange();
this.cdr.markForCheck();
}
};
/**
* @return {?}
*/
NzSelectComponent.prototype.onOpenChange = /**
* @return {?}
*/
function () {
this.updateCdkConnectedOverlayStatus();
this.clearInput();
};
/**
* @param {?} value
* @return {?}
*/
NzSelectComponent.prototype.onInputValueChange = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.searchValue = value;
this.updateListOfContainerItem();
this.nzOnSearch.emit(value);
this.updateCdkConnectedOverlayPositions();
};
/**
* @return {?}
*/
NzSelectComponent.prototype.onClearSelection = /**
* @return {?}
*/
function () {
this.updateListOfValue([]);
};
/**
* @return {?}
*/
NzSelectComponent.prototype.focus = /**
* @return {?}
*/
function () {
this.nzSelectTopControlComponent.focus();
};
/**
* @return {?}
*/
NzSelectComponent.prototype.blur = /**
* @return {?}
*/
function () {
this.nzSelectTopControlComponent.blur();
};
/**
* @param {?} position
* @return {?}
*/
NzSelectComponent.prototype.onPositionChange = /**
* @param {?} position
* @return {?}
*/
function (position) {
this.dropDownPosition = position.connectionPair.originY;
};
/**
* @return {?}
*/
NzSelectComponent.prototype.updateCdkConnectedOverlayStatus = /**
* @return {?}
*/
function () {
if (this.platform.isBrowser && this.originElement.nativeElement) {
this.triggerWidth = this.originElement.nativeElement.getBoundingClientRect().width;
}
};
/**
* @return {?}
*/
NzSelectComponent.prototype.updateCdkConnectedOverlayPositions = /**
* @return {?}
*/
function () {
if (this.cdkConnectedOverlay.overlayRef) {
this.cdkConnectedOverlay.overlayRef.updatePosition();
}
};
/**
* @param {?} modelValue
* @return {?}
*/
NzSelectComponent.prototype.writeValue = /**
* @param {?} modelValue
* @return {?}
*/
function (modelValue) {
/** https://github.com/angular/angular/issues/14988 **/
if (this.value !== modelValue) {
this.value = modelValue;
/** @type {?} */
var covertModelToList = (/**
* @param {?} model
* @param {?} mode
* @return {?}
*/
function (model, mode) {
if (model === null || model === undefined) {
return [];
}
else if (mode === 'default') {
return [model];
}
else {
return model;
}
});
/** @type {?} */
var listOfValue = covertModelToList(modelValue, this.nzMode);
this.listOfValue = listOfValue;
this.listOfValue$.next(listOfValue);
this.cdr.markForCheck();
}
};
/**
* @param {?} fn
* @return {?}
*/
NzSelectComponent.prototype.registerOnChange = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onChange = fn;
};
/**
* @param {?} fn
* @return {?}
*/
NzSelectComponent.prototype.registerOnTouched = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onTouched = fn;
};
/**
* @param {?} disabled
* @return {?}
*/
NzSelectComponent.prototype.setDisabledState = /**
* @param {?} disabled
* @return {?}
*/
function (disabled) {
this.nzDisabled = disabled;
if (disabled) {
this.setOpenState(false);
}
this.cdr.markForCheck();
};
/**
* @param {?} changes
* @return {?}
*/
NzSelectComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
var nzOpen = changes.nzOpen, nzDisabled = changes.nzDisabled, nzOptions = changes.nzOptions;
if (nzOpen) {
this.onOpenChange();
}
if (nzDisabled && this.nzDisabled) {
this.setOpenState(false);
}
if (nzOptions) {
this.isReactiveDriven = true;
/** @type {?} */
var listOfOptions = this.nzOptions || [];
/** @type {?} */
var listOfTransformedItem = listOfOptions.map((/**
* @param {?} item
* @return {?}
*/
function (item) {
return {
template: item.label instanceof TemplateRef ? item.label : null,
nzLabel: typeof item.label === 'string' ? item.label : null,
nzValue: item.value,
nzDisabled: item.disabled || false,
nzHide: item.hide || false,
nzCustomContent: item.label instanceof TemplateRef,
groupLabel: item.groupLabel || null,
type: 'item',
key: item.value
};
}));
this.listOfTemplateItem$.next(listOfTransformedItem);
}
};
/**
* @return {?}
*/
NzSelectComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
this.focusMonitor
.monitor(this.elementRef, true)
.pipe(takeUntil(this.destroy$))
.subscribe((/**
* @param {?} focusOrigin
* @return {?}
*/
function (focusOrigin) {
if (!focusOrigin) {
_this.nzBlur.emit();
Promise.resolve().then((/**
* @return {?}
*/
function () {
_this.onTouched();
}));
}
else {
_this.nzFocus.emit();
}
}));
combineLatest([this.listOfValue$, this.listOfTemplateItem$])
.pipe(takeUntil(this.destroy$))
.subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = __read(_a, 2), listOfSelectedValue = _b[0], listOfTemplateItem = _b[1];
/** @type {?} */
var listOfTagItem = listOfSelectedValue
.filter((/**
* @return {?}
*/
function () { return _this.nzMode === 'tags'; }))
.filter((/**
* @param {?} value
* @return {?}
*/
function (value) { return listOfTemplateItem.findIndex((/**
* @param {?} o
* @return {?}
*/
function (o) { return _this.compareWith(o.nzValue, value); })) === -1; }))
.map((/**
* @param {?} value
* @return {?}
*/
function (value) { return _this.listOfTopItem.find((/**
* @param {?} o
* @return {?}
*/
function (o) { return _this.compareWith(o.nzValue, value); })) || _this.generateTagItem(value); }));
_this.listOfTagAndTemplateItem = __spread(listOfTemplateItem, listOfTagItem);
_this.listOfTopItem = _this.listOfValue
.map((/**
* @param {?} v
* @return {?}
*/
function (v) { return (/** @type {?} */ (__spread(_this.listOfTagAndTemplateItem, _this.listOfTopItem).find((/**
* @param {?} item
* @return {?}
*/
function (item) { return _this.compareWith(v, item.nzValue); })))); }))
.filter((/**
* @param {?} item
* @return {?}
*/
function (item) { return !!item; }));
_this.updateListOfContainerItem();
}));
};
/**
* @return {?}
*/
NzSelectComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
this.updateCdkConnectedOverlayStatus();
};
/**
* @return {?}
*/
NzSelectComponent.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
var _this = this;
if (!this.isReactiveDriven) {
merge(this.listOfNzOptionGroupComponent.changes, this.listOfNzOptionComponent.changes)
.pipe(startWith(true), switchMap((/**
* @return {?}
*/
function () {
return merge.apply(void 0, __spread([
_this.listOfNzOptionComponent.changes,
_this.listOfNzOptionGroupComponent.changes
], _this.listOfNzOptionComponent.map((/**
* @param {?} option
* @return {?}
*/
function (option) { return option.changes; })), _this.listOfNzOptionGroupComponent.map((/**
* @param {?} option
* @return {?}
*/
function (option) { return option.changes; })))).pipe(startWith(true));
})), takeUntil(this.destroy$))
.subscribe((/**
* @return {?}
*/
function () {
/** @type {?} */
var listOfOptionInterface = _this.listOfNzOptionComponent.toArray().map((/**
* @param {?} item
* @return {?}
*/
function (item) {
var template = item.template, nzLabel = item.nzLabel, nzValue = item.nzValue, nzDisabled = item.nzDisabled, nzHide = item.nzHide, nzCustomContent = item.nzCustomContent, groupLabel = item.groupLabel;
return { template: template, nzLabel: nzLabel, nzValue: nzValue, nzDisabled: nzDisabled, nzHide: nzHide, nzCustomContent: nzCustomContent, groupLabel: groupLabel, type: 'item', key: nzValue };
}));
_this.listOfTemplateItem$.next(listOfOptionInterface);
_this.cdr.markForCheck();
}));
}
};
/**
* @return {?}
*/
NzSelectComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.destroy$.next();
this.destroy$.complete();
};
NzSelectComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-select',
exportAs: 'nzSelect',
preserveWhitespaces: false,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
function () { return NzSelectComponent; })),
multi: true
}
],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
animations: [slideMotion],
template: "\n <nz-select-top-control\n cdkOverlayOrigin\n #origin=\"cdkOverlayOrigin\"\n [open]=\"nzOpen\"\n [disabled]=\"nzDisabled\"\n [mode]=\"nzMode\"\n [@.disabled]=\"noAnimation?.nzNoAnimation\"\n [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n [maxTagPlaceholder]=\"nzMaxTagPlaceholder\"\n [removeIcon]=\"nzRemoveIcon\"\n [placeHolder]=\"nzPlaceHolder\"\n [maxTagCount]=\"nzMaxTagCount\"\n [customTemplate]=\"nzCustomTemplate\"\n [tokenSeparators]=\"nzTokenSeparators\"\n [showSearch]=\"nzShowSearch\"\n [autofocus]=\"nzAutoFocus\"\n [listOfTopItem]=\"listOfTopItem\"\n (inputValueChange)=\"onInputValueChange($event)\"\n (tokenize)=\"onTokenSeparate($event)\"\n (animationEnd)=\"updateCdkConnectedOverlayPositions()\"\n (deleteItem)=\"onItemDelete($event)\"\n (keydown)=\"onKeyDown($event)\"\n (openChange)=\"setOpenState($event)\"\n ></nz-select-top-control>\n <nz-select-clear\n *ngIf=\"nzAllowClear && !nzDisabled && listOfValue.length\"\n [clearIcon]=\"nzClearIcon\"\n (clear)=\"onClearSelection()\"\n ></nz-select-clear>\n <nz-select-arrow\n *ngIf=\"nzShowArrow && nzMode === 'default'\"\n [loading]=\"nzLoading\"\n [search]=\"nzOpen && nzShowSearch\"\n [suffixIcon]=\"nzSuffixIcon\"\n ></nz-select-arrow>\n <ng-template\n cdkConnectedOverlay\n nzConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayMinWidth]=\"nzDropdownMatchSelectWidth ? null : triggerWidth\"\n [cdkConnectedOverlayWidth]=\"nzDropdownMatchSelectWidth ? triggerWidth : null\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayPanelClass]=\"nzDropdownClassName\"\n (backdropClick)=\"setOpenState(false)\"\n (detach)=\"setOpenState(false)\"\n (positionChange)=\"onPositionChange($event)\"\n [cdkConnectedOverlayOpen]=\"nzOpen\"\n >\n <nz-option-container\n [ngStyle]=\"nzDropdownStyle\"\n [itemSize]=\"nzOptionHeightPx\"\n [maxItemLength]=\"nzOptionOverflowSize\"\n [matchWidth]=\"nzDropdownMatchSelectWidth\"\n [class.ant-select-dropdown-placement-bottomLeft]=\"dropDownPosition === 'bottom'\"\n [class.ant-select-dropdown-placement-topLeft]=\"dropDownPosition === 'top'\"\n [@slideMotion]=\"dropDownPosition\"\n [@.disabled]=\"noAnimation?.nzNoAnimation\"\n [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n [listOfContainerItem]=\"listOfContainerItem\"\n [menuItemSelectedIcon]=\"nzMenuItemSelectedIcon\"\n [notFoundContent]=\"nzNotFoundContent\"\n [activatedValue]=\"activatedValue\"\n [listOfSelectedValue]=\"listOfValue\"\n [dropdownRender]=\"nzDropdownRender\"\n [compareWith]=\"compareWith\"\n [mode]=\"nzMode\"\n (keydown)=\"onKeyDown($event)\"\n (itemClick)=\"onItemClick($event)\"\n (scrollToBottom)=\"nzScrollToBottom.emit()\"\n ></nz-option-container>\n </ng-template>\n ",
host: {
'[class.ant-select]': 'true',
'[class.ant-select-lg]': 'nzSize === "large"',
'[class.ant-select-sm]': 'nzSize === "small"',
'[class.ant-select-show-arrow]': "nzShowArrow && nzMode === 'default'",
'[class.ant-select-disabled]': 'nzDisabled',
'[class.ant-select-show-search]': "nzShowSearch || nzMode !== 'default'",
'[class.ant-select-allow-clear]': 'nzAllowClear',
'[class.ant-select-borderless]': 'nzBorderless',
'[class.ant-select-open]': 'nzOpen',
'[class.ant-select-focused]': 'nzOpen',
'[class.ant-select-single]': "nzMode === 'default'",
'[class.ant-select-multiple]': "nzMode !== 'default'"
}
}] }
];
/** @nocollapse */
NzSelectComponent.ctorParameters = function () { return [
{ type: NzConfigService },
{ type: ChangeDetectorRef },
{ type: ElementRef },
{ type: Platform },
{ type: FocusMonitor },
{ type: NzNoAnimationDirective, decorators: [{ type: Host }, { type: Optional }] }
]; };
NzSelectComponent.propDecorators = {
nzSize: [{ type: Input }],
nzOptionHeightPx: [{ type: Input }],
nzOptionOverflowSize: [{ type: Input }],
nzDropdownClassName: [{ type: Input }],
nzDropdownMatchSelectWidth: [{ type: Input }],
nzDropdownStyle: [{ type: Input }],
nzNotFoundContent: [{ type: Input }],
nzPlaceHolder: [{ type: Input }],
nzMaxTagCount: [{ type: Input }],
nzDropdownRender: [{ type: Input }],
nzCustomTemplate: [{ type: Input }],
nzSuffixIcon: [{ type: Input }],
nzClearIcon: [{ type: Input }],
nzRemoveIcon: [{ type: Input }],
nzMenuItemSelectedIcon: [{ type: Input }],
nzShowArrow: [{ type: Input }],
nzTokenSeparators: [{ type: Input }],
nzMaxTagPlaceholder: [{ type: Input }],
nzMaxMultipleCount: [{ type: Input }],
nzMode: [{ type: Input }],
nzFilterOption: [{ type: Input }],
compareWith: [{ type: Input }],
nzAllowClear: [{ type: Input }],
nzBorderless: [{ type: Input }],
nzShowSearch: [{ type: Input }],
nzLoading: [{ type: Input }],
nzAutoFocus: [{ type: Input }],
nzAutoClearSearchValue: [{ type: Input }],
nzServerSearch: [{ type: Input }],
nzDisabled: [{ type: Input }],
nzOpen: [{ type: Input }],
nzOptions: [{ type: Input }],
nzOnSearch: [{ type: Output }],
nzScrollToBottom: [{ type: Output }],
nzOpenChange: [{ type: Output }],
nzBlur: [{ type: Output }],
nzFocus: [{ type: Output }],
originElement: [{ type: ViewChild, args: [CdkOverlayOrigin, { static: true, read: ElementRef },] }],
cdkConnectedOverlay: [{ type: ViewChild, args: [CdkConnectedOverlay, { static: true },] }],
nzSelectTopControlComponent: [{ type: ViewChild, args: [NzSelectTopControlComponent, { static: true },] }],
listOfNzOptionComponent: [{ type: ContentChildren, args: [NzOptionComponent, { descendants: true },] }],
listOfNzOptionGroupComponent: [{ type: ContentChildren, args: [NzOptionGroupComponent, { descendants: true },] }],
nzOptionGroupComponentElement: [{ type: ViewChild, args: [NzOptionGroupComponent, { static: true, read: ElementRef },] }],
nzSelectTopControlComponentElement: [{ type: ViewChild, args: [NzSelectTopControlComponent, { static: true, read: ElementRef },] }]
};
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME, null),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzSuffixIcon", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzAllowClear", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzBorderless", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzShowSearch", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzLoading", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzAutoFocus", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzAutoClearSearchValue", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzServerSearch", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzDisabled", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSelectComponent.prototype, "nzOpen", void 0);
return NzSelectComponent;
}());
export { NzSelectComponent };
if (false) {
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzAllowClear;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzBorderless;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzShowSearch;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzLoading;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzAutoFocus;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzAutoClearSearchValue;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzServerSearch;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzDisabled;
/** @type {?} */
NzSelectComponent.ngAcceptInputType_nzOpen;
/** @type {?} */
NzSelectComponent.prototype.nzSize;
/** @type {?} */
NzSelectComponent.prototype.nzOptionHeightPx;
/** @type {?} */
NzSelectComponent.prototype.nzOptionOverflowSize;
/** @type {?} */
NzSelectComponent.prototype.nzDropdownClassName;
/** @type {?} */
NzSelectComponent.prototype.nzDropdownMatchSelectWidth;
/** @type {?} */
NzSelectComponent.prototype.nzDropdownStyle;
/** @type {?} */
NzSelectComponent.prototype.nzNotFoundContent;
/** @type {?} */
NzSelectComponent.prototype.nzPlaceHolder;
/** @type {?} */
NzSelectComponent.prototype.nzMaxTagCount;
/** @type {?} */
NzSelectComponent.prototype.nzDropdownRender;
/** @type {?} */
NzSelectComponent.prototype.nzCustomTemplate;
/** @type {?} */
NzSelectComponent.prototype.nzSuffixIcon;
/** @type {?} */
NzSelectComponent.prototype.nzClearIcon;
/** @type {?} */
NzSelectComponent.prototype.nzRemoveIcon;
/** @type {?} */
NzSelectComponent.prototype.nzMenuItemSelectedIcon;
/** @type {?} */
NzSelectComponent.prototype.nzShowArrow;
/** @type {?} */
NzSelectComponent.prototype.nzTokenSeparators;
/** @type {?} */
NzSelectComponent.prototype.nzMaxTagPlaceholder;
/** @type {?} */
NzSelectComponent.prototype.nzMaxMultipleCount;
/** @type {?} */
NzSelectComponent.prototype.nzMode;
/** @type {?} */
NzSelectComponent.prototype.nzFilterOption;
/** @type {?} */
NzSelectComponent.prototype.compareWith;
/** @type {?} */
NzSelectComponent.prototype.nzAllowClear;
/** @type {?} */
NzSelectComponent.prototype.nzBorderless;
/** @type {?} */
NzSelectComponent.prototype.nzShowSearch;
/** @type {?} */
NzSelectComponent.prototype.nzLoading;
/** @type {?} */
NzSelectComponent.prototype.nzAutoFocus;
/** @type {?} */
NzSelectComponent.prototype.nzAutoClearSearchValue;
/** @type {?} */
NzSelectComponent.prototype.nzServerSearch;
/** @type {?} */
NzSelectComponent.prototype.nzDisabled;
/** @type {?} */
NzSelectComponent.prototype.nzOpen;
/** @type {?} */
NzSelectComponent.prototype.nzOptions;
/** @type {?} */
NzSelectComponent.prototype.nzOnSearch;
/** @type {?} */
NzSelectComponent.prototype.nzScrollToBottom;
/** @type {?} */
NzSelectComponent.prototype.nzOpenChange;
/** @type {?} */
NzSelectComponent.prototype.nzBlur;
/** @type {?} */
NzSelectComponent.prototype.nzFocus;
/** @type {?} */
NzSelectComponent.prototype.originElement;
/** @type {?} */
NzSelectComponent.prototype.cdkConnectedOverlay;
/** @type {?} */
NzSelectComponent.prototype.nzSelectTopControlComponent;
/** @type {?} */
NzSelectComponent.prototype.listOfNzOptionComponent;
/** @type {?} */
NzSelectComponent.prototype.listOfNzOptionGroupComponent;
/** @type {?} */
NzSelectComponent.prototype.nzOptionGroupComponentElement;
/** @type {?} */
NzSelectComponent.prototype.nzSelectTopControlComponentElement;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.listOfValue$;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.listOfTemplateItem$;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.listOfTagAndTemplateItem;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.searchValue;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.isReactiveDriven;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.value;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.destroy$;
/** @type {?} */
NzSelectComponent.prototype.onChange;
/** @type {?} */
NzSelectComponent.prototype.onTouched;
/** @type {?} */
NzSelectComponent.prototype.dropDownPosition;
/** @type {?} */
NzSelectComponent.prototype.triggerWidth;
/** @type {?} */
NzSelectComponent.prototype.listOfContainerItem;
/** @type {?} */
NzSelectComponent.prototype.listOfTopItem;
/** @type {?} */
NzSelectComponent.prototype.activatedValue;
/** @type {?} */
NzSelectComponent.prototype.listOfValue;
/** @type {?} */
NzSelectComponent.prototype.nzConfigService;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.cdr;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.elementRef;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.platform;
/**
* @type {?}
* @private
*/
NzSelectComponent.prototype.focusMonitor;
/** @type {?} */
NzSelectComponent.prototype.noAnimation;
}
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvc2VsZWN0LyIsInNvdXJjZXMiOlsic2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFrQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLElBQUksRUFDSixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FB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