UNPKG

solar-ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

176 lines (175 loc) 13.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core'; import { toBoolean } from '../core/util/convert'; export class NzOptionSelectionChange { /** * @param {?} source * @param {?=} isUserInput */ constructor(source, isUserInput = false) { this.source = source; this.isUserInput = isUserInput; } } function NzOptionSelectionChange_tsickle_Closure_declarations() { /** @type {?} */ NzOptionSelectionChange.prototype.source; /** @type {?} */ NzOptionSelectionChange.prototype.isUserInput; } export class NzAutocompleteOptionComponent { /** * @param {?} changeDetectorRef * @param {?} element */ constructor(changeDetectorRef, element) { this.changeDetectorRef = changeDetectorRef; this.element = element; this.disabled = false; this.active = false; this.selected = false; this.selectionChange = new EventEmitter(); } /** * @return {?} */ get nzDisabled() { return this.disabled; } /** * @param {?} value * @return {?} */ set nzDisabled(value) { this.disabled = toBoolean(value); } /** * 选择 * @return {?} */ select() { this.selected = true; this.changeDetectorRef.markForCheck(); this.emitSelectionChangeEvent(); } /** * 取消选择 * @return {?} */ deselect() { this.selected = false; this.changeDetectorRef.markForCheck(); this.emitSelectionChangeEvent(); } /** * 获取用于显示的 label * @return {?} */ getLabel() { return this.nzLabel || this.nzValue.toString(); } /** * 设置激活样式 (仅限样式) * @return {?} */ setActiveStyles() { if (!this.active) { this.active = true; this.changeDetectorRef.markForCheck(); } } /** * 设置非激活样式 (仅限样式) * @return {?} */ setInactiveStyles() { if (this.active) { this.active = false; this.changeDetectorRef.markForCheck(); } } /** * @return {?} */ scrollIntoViewIfNeeded() { /* tslint:disable-next-line:no-string-literal */ if (this.element.nativeElement && this.element.nativeElement['scrollIntoViewIfNeeded']) { /* tslint:disable-next-line:no-string-literal */ setTimeout(() => this.element.nativeElement['scrollIntoViewIfNeeded'](false), 150); } } /** * @param {?=} isUserInput * @return {?} */ emitSelectionChangeEvent(isUserInput = false) { this.selectionChange.emit(new NzOptionSelectionChange(this, isUserInput)); } /** * @return {?} */ selectViaInteraction() { if (!this.disabled) { this.selected = !this.selected; if (this.selected) { this.setActiveStyles(); } else { this.setInactiveStyles(); } this.emitSelectionChangeEvent(true); this.changeDetectorRef.markForCheck(); } } } NzAutocompleteOptionComponent.decorators = [ { type: Component, args: [{ selector: 'nz-auto-option', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", host: { 'role': 'menuitem', 'class': 'ant-select-dropdown-menu-item', '[class.ant-select-dropdown-menu-item-selected]': 'selected', '[class.ant-select-dropdown-menu-item-active]': 'active', '[class.ant-select-dropdown-menu-item-disabled]': 'nzDisabled', '[attr.aria-selected]': 'selected.toString()', '[attr.aria-disabled]': 'nzDisabled.toString()', '(click)': 'selectViaInteraction()' } }] } ]; /** @nocollapse */ NzAutocompleteOptionComponent.ctorParameters = () => [ { type: ChangeDetectorRef }, { type: ElementRef } ]; NzAutocompleteOptionComponent.propDecorators = { nzValue: [{ type: Input }], nzLabel: [{ type: Input }], nzDisabled: [{ type: Input }], selectionChange: [{ type: Output }] }; function NzAutocompleteOptionComponent_tsickle_Closure_declarations() { /** @type {?} */ NzAutocompleteOptionComponent.prototype.disabled; /** @type {?} */ NzAutocompleteOptionComponent.prototype.active; /** @type {?} */ NzAutocompleteOptionComponent.prototype.selected; /** @type {?} */ NzAutocompleteOptionComponent.prototype.nzValue; /** @type {?} */ NzAutocompleteOptionComponent.prototype.nzLabel; /** @type {?} */ NzAutocompleteOptionComponent.prototype.selectionChange; /** @type {?} */ NzAutocompleteOptionComponent.prototype.changeDetectorRef; /** @type {?} */ NzAutocompleteOptionComponent.prototype.element; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotYXV0b2NvbXBsZXRlLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zb2xhci1uZy16b3Jyby1hbnRkLyIsInNvdXJjZXMiOlsiYXV0by1jb21wbGV0ZS9uei1hdXRvY29tcGxldGUtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQ25DLEtBQUssRUFBRSxNQUFNLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE1BQU07Ozs7O0lBQ0osWUFDUyxRQUNBLGNBQXVCLEtBQUs7UUFENUIsV0FBTSxHQUFOLE1BQU07UUFDTixnQkFBVyxHQUFYLFdBQVc7S0FFbkI7Q0FDRjs7Ozs7OztBQWtCRCxNQUFNOzs7OztJQXFCSixZQUFvQixpQkFBb0MsRUFBVSxPQUFtQjtRQUFqRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBWTt3QkFwQmxFLEtBQUs7c0JBRWYsS0FBSzt3QkFDSCxLQUFLOytCQWVZLElBQUksWUFBWSxFQUEyQjtLQUd0RTs7OztJQVpELElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztLQUN0Qjs7Ozs7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2xDOzs7OztJQVFELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7S0FDakM7Ozs7O0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztLQUNqQzs7Ozs7SUFHRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDaEQ7Ozs7O0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QztLQUNGOzs7OztJQUdELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN2QztLQUNGOzs7O0lBRUQsc0JBQXNCOztRQUVwQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7O1lBRXRGLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBRSx3QkFBd0IsQ0FBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZGO0tBQ0Y7Ozs7O0lBRU8sd0JBQXdCLENBQUMsY0FBdUIsS0FBSztRQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDOzs7OztJQUc1RSxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7YUFDMUI7WUFDRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3ZDO0tBQ0Y7OztZQWxHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFhLGdCQUFnQjtnQkFDckMsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsZUFBZSxFQUFNLHVCQUF1QixDQUFDLE1BQU07Z0JBQ25ELHFDQUE4RDtnQkFDOUQsSUFBSSxFQUFpQjtvQkFDbkIsTUFBTSxFQUE0QyxVQUFVO29CQUM1RCxPQUFPLEVBQTJDLCtCQUErQjtvQkFDakYsZ0RBQWdELEVBQUUsVUFBVTtvQkFDNUQsOENBQThDLEVBQUksUUFBUTtvQkFDMUQsZ0RBQWdELEVBQUUsWUFBWTtvQkFDOUQsc0JBQXNCLEVBQTRCLHFCQUFxQjtvQkFDdkUsc0JBQXNCLEVBQTRCLHVCQUF1QjtvQkFDekUsU0FBUyxFQUF5Qyx3QkFBd0I7aUJBQzNFO2FBQ0Y7Ozs7WUE5QkMsaUJBQWlCO1lBQ04sVUFBVTs7O3NCQXFDcEIsS0FBSztzQkFDTCxLQUFLO3lCQUVMLEtBQUs7OEJBU0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXG4gIElucHV0LCBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRvQm9vbGVhbiB9IGZyb20gJy4uL2NvcmUvdXRpbC9jb252ZXJ0JztcblxuZXhwb3J0IGNsYXNzIE56T3B0aW9uU2VsZWN0aW9uQ2hhbmdlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogTnpBdXRvY29tcGxldGVPcHRpb25Db21wb25lbnQsXG4gICAgcHVibGljIGlzVXNlcklucHV0OiBib29sZWFuID0gZmFsc2VcbiAgKSB7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yICAgICAgICAgICA6ICduei1hdXRvLW9wdGlvbicsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb24gICAgOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsICAgICAgICA6ICcuL256LWF1dG9jb21wbGV0ZS1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBob3N0ICAgICAgICAgICAgICAgOiB7XG4gICAgJ3JvbGUnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnbWVudWl0ZW0nLFxuICAgICdjbGFzcycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2FudC1zZWxlY3QtZHJvcGRvd24tbWVudS1pdGVtJyxcbiAgICAnW2NsYXNzLmFudC1zZWxlY3QtZHJvcGRvd24tbWVudS1pdGVtLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgJ1tjbGFzcy5hbnQtc2VsZWN0LWRyb3Bkb3duLW1lbnUtaXRlbS1hY3RpdmVdJyAgOiAnYWN0aXZlJyxcbiAgICAnW2NsYXNzLmFudC1zZWxlY3QtZHJvcGRvd24tbWVudS1pdGVtLWRpc2FibGVkXSc6ICduekRpc2FibGVkJyxcbiAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdzZWxlY3RlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nICAgICAgICAgICAgICAgICAgICAgICAgICA6ICduekRpc2FibGVkLnRvU3RyaW5nKCknLFxuICAgICcoY2xpY2spJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ3NlbGVjdFZpYUludGVyYWN0aW9uKCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTnpBdXRvY29tcGxldGVPcHRpb25Db21wb25lbnQge1xuICBwcml2YXRlIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgYWN0aXZlID0gZmFsc2U7XG4gIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueSAqL1xuICBASW5wdXQoKSBuelZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIG56TGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgbnpEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBuekRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxOek9wdGlvblNlbGVjdGlvbkNoYW5nZT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICAvKiog6YCJ5oupICovXG4gIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gIH1cblxuICAvKiog5Y+W5raI6YCJ5oupICovXG4gIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gIH1cblxuICAvKiog6I635Y+W55So5LqO5pi+56S655qEIGxhYmVsICovXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubnpMYWJlbCB8fCB0aGlzLm56VmFsdWUudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKiDorr7nva7mv4DmtLvmoLflvI8gKOS7hemZkOagt+W8jykgKi9cbiAgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIOiuvue9rumdnua/gOa0u+agt+W8jyAo5LuF6ZmQ5qC35byPKSAqL1xuICBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbEludG9WaWV3SWZOZWVkZWQoKTogdm9pZCB7XG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXN0cmluZy1saXRlcmFsICovXG4gICAgaWYgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50WydzY3JvbGxJbnRvVmlld0lmTmVlZGVkJ10pIHtcbiAgICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zdHJpbmctbGl0ZXJhbCAqL1xuICAgICAgc2V0VGltZW91dCgoKSA9PiAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnRbICdzY3JvbGxJbnRvVmlld0lmTmVlZGVkJyBdKGZhbHNlKSwgMTUwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudChpc1VzZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChuZXcgTnpPcHRpb25TZWxlY3Rpb25DaGFuZ2UodGhpcywgaXNVc2VySW5wdXQpKTtcbiAgfVxuXG4gIHNlbGVjdFZpYUludGVyYWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zZXRBY3RpdmVTdHlsZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0SW5hY3RpdmVTdHlsZXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxufVxuIl19