@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
181 lines • 11.1 kB
JavaScript
/**
* @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==