ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
82 lines (81 loc) • 8.65 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Host, Input, Optional, Output, ViewChild, ViewEncapsulation } from '@angular/core';
import { slideMotion } from '../core/animation/slide';
import { NzNoAnimationDirective } from '../core/no-animation/nz-no-animation.directive';
import { NzDropDownComponent } from './nz-dropdown.component';
import { NzDropDownDirective } from './nz-dropdown.directive';
import { NzMenuDropdownService } from './nz-menu-dropdown.service';
export class NzDropDownButtonComponent extends NzDropDownComponent {
/**
* @param {?} cdr
* @param {?} nzMenuDropdownService
* @param {?=} noAnimation
*/
constructor(cdr, nzMenuDropdownService, noAnimation) {
super(cdr, nzMenuDropdownService, noAnimation);
this.noAnimation = noAnimation;
this.nzSize = 'default';
this.nzType = 'default';
this.nzClick = new EventEmitter();
}
/**
* rewrite afterViewInit hook
* @return {?}
*/
ngAfterContentInit() {
this.startSubscribe(this.visible$);
}
}
NzDropDownButtonComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-dropdown-button',
preserveWhitespaces: false,
animations: [slideMotion],
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [NzMenuDropdownService],
template: "<div class=\"ant-btn-group ant-dropdown-button\" nz-dropdown>\n <button nz-button\n type=\"button\"\n [disabled]=\"nzDisabled\"\n [nzType]=\"nzType\"\n [nzSize]=\"nzSize\"\n (click)=\"nzClick.emit($event)\">\n <span><ng-content></ng-content></span>\n </button>\n <button nz-button\n type=\"button\"\n class=\"ant-dropdown-trigger\"\n [nzType]=\"nzType\"\n [nzSize]=\"nzSize\"\n [disabled]=\"nzDisabled\"\n (click)=\"setVisibleStateWhen(true,'click')\"\n (mouseenter)=\"setVisibleStateWhen(true,'hover')\"\n (mouseleave)=\"setVisibleStateWhen(false,'hover')\">\n <i nz-icon type=\"ellipsis\"></i>\n </button>\n</div>\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayHasBackdrop]=\"nzTrigger === 'click'\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayOrigin]=\"nzDropDownDirective\"\n (backdropClick)=\"setVisibleStateWhen(false)\"\n (detach)=\"setVisibleStateWhen(false)\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n (positionChange)=\"onPositionChange($event)\"\n [cdkConnectedOverlayOpen]=\"nzVisible\">\n <div class=\"{{'ant-dropdown ant-dropdown-placement-'+nzPlacement}}\"\n [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n [@slideMotion]=\"dropDownPosition\"\n (mouseenter)=\"setVisibleStateWhen(true,'hover')\"\n (mouseleave)=\"setVisibleStateWhen(false,'hover')\"\n [style.minWidth.px]=\"triggerWidth\">\n <ng-content select=\"[nz-menu]\"></ng-content>\n </div>\n</ng-template>",
styles: [`
nz-dropdown-button {
position: relative;
display: inline-block;
}
.ant-dropdown {
top: 100%;
left: 0;
position: relative;
width: 100%;
margin-top: 4px;
margin-bottom: 4px;
}
`]
}] }
];
/** @nocollapse */
NzDropDownButtonComponent.ctorParameters = () => [
{ type: ChangeDetectorRef },
{ type: NzMenuDropdownService },
{ type: NzNoAnimationDirective, decorators: [{ type: Host }, { type: Optional }] }
];
NzDropDownButtonComponent.propDecorators = {
nzSize: [{ type: Input }],
nzType: [{ type: Input }],
nzClick: [{ type: Output }],
nzDropDownDirective: [{ type: ViewChild, args: [NzDropDownDirective,] }]
};
if (false) {
/** @type {?} */
NzDropDownButtonComponent.prototype.nzSize;
/** @type {?} */
NzDropDownButtonComponent.prototype.nzType;
/** @type {?} */
NzDropDownButtonComponent.prototype.nzClick;
/** @type {?} */
NzDropDownButtonComponent.prototype.nzDropDownDirective;
/** @type {?} */
NzDropDownButtonComponent.prototype.noAnimation;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvIiwic291cmNlcyI6WyJkcm9wZG93bi9uei1kcm9wZG93bi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUFFLElBQUksRUFDbEIsS0FBSyxFQUVNLFFBQVEsRUFDbkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBMkJuRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1COzs7Ozs7SUFNaEUsWUFBWSxHQUFzQixFQUFFLHFCQUE0QyxFQUN6QyxXQUFvQztRQUN6RSxLQUFLLENBQUMsR0FBRyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRFYsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBTmxFLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUNULFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBTTVELENBQUM7Ozs7O0lBR0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQXZDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFhLG9CQUFvQjtnQkFDekMsbUJBQW1CLEVBQUUsS0FBSztnQkFDMUIsVUFBVSxFQUFXLENBQUUsV0FBVyxDQUFFO2dCQUNwQyxhQUFhLEVBQVEsaUJBQWlCLENBQUMsSUFBSTtnQkFDM0MsZUFBZSxFQUFNLHVCQUF1QixDQUFDLE1BQU07Z0JBQ25ELFNBQVMsRUFBWSxDQUFFLHFCQUFxQixDQUFFO2dCQUM5Qyx1K0NBQTBEO3lCQUNuQzs7Ozs7Ozs7Ozs7Ozs7R0FjdEI7YUFDRjs7OztZQXhDQyxpQkFBaUI7WUFlVixxQkFBcUI7WUFIckIsc0JBQXNCLHVCQXFDaEIsSUFBSSxZQUFJLFFBQVE7OztxQkFONUIsS0FBSztxQkFDTCxLQUFLO3NCQUNMLE1BQU07a0NBQ04sU0FBUyxTQUFDLG1CQUFtQjs7OztJQUg5QiwyQ0FBNEI7O0lBQzVCLDJDQUE0Qjs7SUFDNUIsNENBQTREOztJQUM1RCx3REFBeUU7O0lBRzdELGdEQUErRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsIEhvc3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSwgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgc2xpZGVNb3Rpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbi9zbGlkZSc7XG5pbXBvcnQgeyBOek5vQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29yZS9uby1hbmltYXRpb24vbnotbm8tYW5pbWF0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOekRyb3BEb3duQ29tcG9uZW50IH0gZnJvbSAnLi9uei1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnpEcm9wRG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vbnotZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IE56TWVudURyb3Bkb3duU2VydmljZSB9IGZyb20gJy4vbnotbWVudS1kcm9wZG93bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yICAgICAgICAgICA6ICduei1kcm9wZG93bi1idXR0b24nLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgYW5pbWF0aW9ucyAgICAgICAgIDogWyBzbGlkZU1vdGlvbiBdLFxuICBlbmNhcHN1bGF0aW9uICAgICAgOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb24gICAgOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVycyAgICAgICAgICA6IFsgTnpNZW51RHJvcGRvd25TZXJ2aWNlIF0sXG4gIHRlbXBsYXRlVXJsICAgICAgICA6ICcuL256LWRyb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlcyAgICAgICAgICAgICA6IFsgYFxuICAgIG56LWRyb3Bkb3duLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmFudC1kcm9wZG93biB7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgfVxuICBgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBOekRyb3BEb3duQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgTnpEcm9wRG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbnpTaXplID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBuelR5cGUgPSAnZGVmYXVsdCc7XG4gIEBPdXRwdXQoKSByZWFkb25seSBuekNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICBAVmlld0NoaWxkKE56RHJvcERvd25EaXJlY3RpdmUpIG56RHJvcERvd25EaXJlY3RpdmU6IE56RHJvcERvd25EaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgbnpNZW51RHJvcGRvd25TZXJ2aWNlOiBOek1lbnVEcm9wZG93blNlcnZpY2UsXG4gICAgICAgICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgcHVibGljIG5vQW5pbWF0aW9uPzogTnpOb0FuaW1hdGlvbkRpcmVjdGl2ZSkge1xuICAgIHN1cGVyKGNkciwgbnpNZW51RHJvcGRvd25TZXJ2aWNlLCBub0FuaW1hdGlvbik7XG4gIH1cblxuICAvKiogcmV3cml0ZSBhZnRlclZpZXdJbml0IGhvb2sgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRTdWJzY3JpYmUodGhpcy52aXNpYmxlJCk7XG4gIH1cbn1cbiJdfQ==