UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

181 lines 11.1 kB
/** * @fileoverview added by tsickle * Generated from: dropdown-toggle.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, Host, HostBinding, HostListener, Input } from '@angular/core'; import { DropDownDirective } from './dropdown.directive'; var DropDownToggleDirective = /** @class */ (function () { function DropDownToggleDirective(dropdown, el) { this.dropdown = dropdown; this.el = el; this.addClass = true; this.toggleOnFocus = false; this.autoFocus = false; this.isMouseEvent = false; } Object.defineProperty(DropDownToggleDirective.prototype, "tabIndex", { get: /** * @return {?} */ function () { return this.disabled ? null : 0; }, enumerable: true, configurable: true }); Object.defineProperty(DropDownToggleDirective.prototype, "attrDisabled", { get: /** * @return {?} */ function () { return this.disabled ? 'disabled' : null; }, enumerable: true, configurable: true }); Object.defineProperty(DropDownToggleDirective.prototype, "disabled", { get: /** * @return {?} */ function () { return this.dropdown && this.dropdown.disabled; }, enumerable: true, configurable: true }); /** * @return {?} */ DropDownToggleDirective.prototype.ngOnInit = /** * @return {?} */ function () { this.dropdown.dropDownToggle = this; }; /** * @return {?} */ DropDownToggleDirective.prototype.ngAfterViewInit = /** * @return {?} */ function () { var _this = this; if (this.autoFocus) { setTimeout((/** * @return {?} */ function () { _this.el.nativeElement.focus(); }), 0); } }; /** * @param {?} event * @return {?} */ DropDownToggleDirective.prototype.toggleDropdown = /** * @param {?} event * @return {?} */ function (event) { if (!this.disabled) { this.dropdown.toggle(); } return false; }; // mousedown mouseup解决focus与click冲突问题 // mousedown mouseup解决focus与click冲突问题 /** * @param {?} event * @return {?} */ DropDownToggleDirective.prototype.setMouseEventTrue = // mousedown mouseup解决focus与click冲突问题 /** * @param {?} event * @return {?} */ function (event) { this.isMouseEvent = true; }; /** * @param {?} event * @return {?} */ DropDownToggleDirective.prototype.setMouseEventFalse = /** * @param {?} event * @return {?} */ function (event) { this.isMouseEvent = false; }; /** * @param {?} event * @return {?} */ DropDownToggleDirective.prototype.toggleOnFocusFn = /** * @param {?} event * @return {?} */ function (event) { if (this.toggleOnFocus && !this.disabled && !this.dropdown.isOpen && !this.isMouseEvent) { this.dropdown.toggle(); } }; /** * @return {?} */ DropDownToggleDirective.prototype.toggle = /** * @return {?} */ function () { this.dropdown.toggle(); }; DropDownToggleDirective.decorators = [ { type: Directive, args: [{ selector: '[dDropDownToggle]', exportAs: 'd-dropdown-toggle', },] } ]; /** @nocollapse */ DropDownToggleDirective.ctorParameters = function () { return [ { type: DropDownDirective, decorators: [{ type: Host }] }, { type: ElementRef } ]; }; DropDownToggleDirective.propDecorators = { tabIndex: [{ type: HostBinding, args: ['attr.tabIndex',] }], attrDisabled: [{ type: HostBinding, args: ['attr.disabled',] }], addClass: [{ type: HostBinding, args: ['class.devui-dropdown-toggle',] }], toggleOnFocus: [{ type: Input }], autoFocus: [{ type: Input }], toggleDropdown: [{ type: HostListener, args: ['click', ['$event'],] }], setMouseEventTrue: [{ type: HostListener, args: ['mousedown', ['$event'],] }], setMouseEventFalse: [{ type: HostListener, args: ['mouseup', ['$event'],] }], toggleOnFocusFn: [{ type: HostListener, args: ['focus', ['$event'],] }], toggle: [{ type: HostListener, args: ['keydown.enter',] }] }; return DropDownToggleDirective; }()); export { DropDownToggleDirective }; if (false) { /** @type {?} */ DropDownToggleDirective.prototype.addClass; /** @type {?} */ DropDownToggleDirective.prototype.toggleOnFocus; /** @type {?} */ DropDownToggleDirective.prototype.autoFocus; /** @type {?} */ DropDownToggleDirective.prototype.isMouseEvent; /** * @type {?} * @private */ DropDownToggleDirective.prototype.dropdown; /** * @type {?} * @private */ DropDownToggleDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL2Ryb3Bkb3duLyIsInNvdXJjZXMiOlsiZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBVSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQ7SUFvQkUsaUNBQTRCLFFBQTJCLEVBQVUsRUFBYztRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFMbkMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNuRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBRThELENBQUM7SUFmcEYsc0JBQWtDLDZDQUFROzs7O1FBQTFDO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDOzs7T0FBQTtJQUNELHNCQUNJLGlEQUFZOzs7O1FBRGhCO1lBRUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMzQyxDQUFDOzs7T0FBQTtJQUNELHNCQUFJLDZDQUFROzs7O1FBQVo7WUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDakQsQ0FBQzs7O09BQUE7Ozs7SUFRRCwwQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQzs7OztJQUNELGlEQUFlOzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLFVBQVU7OztZQUFDO2dCQUNULEtBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQztTQUNQO0lBQ0gsQ0FBQzs7Ozs7SUFHRCxnREFBYzs7OztJQURkLFVBQ2UsS0FBaUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN4QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELHFDQUFxQzs7Ozs7O0lBRXJDLG1EQUFpQjs7Ozs7O0lBRGpCLFVBQ2tCLEtBQUs7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFFRCxvREFBa0I7Ozs7SUFEbEIsVUFDbUIsS0FBSztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDOzs7OztJQUVELGlEQUFlOzs7O0lBRGYsVUFDZ0IsS0FBaUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7OztJQUVNLHdDQUFNOzs7SUFEYjtRQUVFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7Z0JBMURGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsbUJBQW1CO2lCQUM5Qjs7OztnQkFMUSxpQkFBaUIsdUJBc0JYLElBQUk7Z0JBdkJDLFVBQVU7OzsyQkFRM0IsV0FBVyxTQUFDLGVBQWU7K0JBRzNCLFdBQVcsU0FBQyxlQUFlOzJCQU8zQixXQUFXLFNBQUMsNkJBQTZCO2dDQUN6QyxLQUFLOzRCQUNMLEtBQUs7aUNBZ0JMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0NBUWhDLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7cUNBSXBDLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7a0NBSWxDLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBTWhDLFlBQVksU0FBQyxlQUFlOztJQUkvQiw4QkFBQztDQUFBLEFBM0RELElBMkRDO1NBdkRZLHVCQUF1Qjs7O0lBV2xDLDJDQUE0RDs7SUFDNUQsZ0RBQStCOztJQUMvQiw0Q0FBMkI7O0lBQzNCLCtDQUFxQjs7Ozs7SUFFVCwyQ0FBMkM7Ozs7O0lBQUUscUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERyb3BEb3duRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZERyb3BEb3duVG9nZ2xlXScsXHJcbiAgZXhwb3J0QXM6ICdkLWRyb3Bkb3duLXRvZ2dsZScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wRG93blRvZ2dsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYkluZGV4JykgZ2V0IHRhYkluZGV4KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyBudWxsIDogMDtcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcclxuICBnZXQgYXR0ckRpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbDtcclxuICB9XHJcbiAgZ2V0IGRpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZHJvcGRvd24gJiYgdGhpcy5kcm9wZG93bi5kaXNhYmxlZDtcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kZXZ1aS1kcm9wZG93bi10b2dnbGUnKSBhZGRDbGFzcyA9IHRydWU7XHJcbiAgQElucHV0KCkgdG9nZ2xlT25Gb2N1cyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGF1dG9Gb2N1cyA9IGZhbHNlO1xyXG4gIGlzTW91c2VFdmVudCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHByaXZhdGUgZHJvcGRvd246IERyb3BEb3duRGlyZWN0aXZlLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRyb3Bkb3duLmRyb3BEb3duVG9nZ2xlID0gdGhpcztcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICB0b2dnbGVEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8vIG1vdXNlZG93biBtb3VzZXVw6Kej5YazZm9jdXPkuI5jbGlja+WGsueqgemXrumimFxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXHJcbiAgc2V0TW91c2VFdmVudFRydWUoZXZlbnQpIHtcclxuICAgIHRoaXMuaXNNb3VzZUV2ZW50ID0gdHJ1ZTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgc2V0TW91c2VFdmVudEZhbHNlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmlzTW91c2VFdmVudCA9IGZhbHNlO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdmb2N1cycsIFsnJGV2ZW50J10pXHJcbiAgdG9nZ2xlT25Gb2N1c0ZuKGV2ZW50OiBGb2N1c0V2ZW50KSB7XHJcbiAgICBpZiAodGhpcy50b2dnbGVPbkZvY3VzICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmRyb3Bkb3duLmlzT3BlbiAmJiAhdGhpcy5pc01vdXNlRXZlbnQpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicpXHJcbiAgcHVibGljIHRvZ2dsZSgpIHtcclxuICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==