UNPKG

@hxui/angular

Version:

This README includes the steps that are necessary to import the HxUi-angular into a project or to contribute with development.

138 lines (137 loc) 10.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Directive, ElementRef, HostBinding, HostListener, Renderer2 } from '@angular/core'; import { DropdownState } from './dropdown.state'; var DropdownToggleDirective = /** @class */ (function () { function DropdownToggleDirective(_state, _element, _renderer) { var _this = this; this._state = _state; this._element = _element; this._renderer = _renderer; this._subscriptions = []; // sync is open value with state this._subscriptions.push(this._state .isOpenChange.subscribe(function (value) { return _this.isOpen = value; })); // populate disabled state this._subscriptions.push(this._state .isDisabledChange .subscribe(function (value) { return _this.isDisabled = value || false; })); } /** * @param {?} event * @return {?} */ DropdownToggleDirective.prototype.onClick = /** * @param {?} event * @return {?} */ function (event) { if (this.isDisabled) { return; } if (!this._state.isOpen) { this._state.toggleClick.emit(true); } else { this._state.toggleClick.emit(false); } }; /** * @param {?} event * @return {?} */ DropdownToggleDirective.prototype.onDocumentClick = /** * @param {?} event * @return {?} */ function (event) { if (this._state.autoClose && event.button !== 2 && !this._element.nativeElement.contains(event.target)) { this._state.toggleClick.emit(false); } else if (!this._element.nativeElement.parentNode.contains(event.target)) { this._state.toggleClick.emit(false); } }; /** * @return {?} */ DropdownToggleDirective.prototype.onEsc = /** * @return {?} */ function () { if (this._state.autoClose) { this._state.toggleClick.emit(false); } }; /** * @return {?} */ DropdownToggleDirective.prototype.ngOnDestroy = /** * @return {?} */ function () { try { for (var _a = tslib_1.__values(this._subscriptions), _b = _a.next(); !_b.done; _b = _a.next()) { var sub = _b.value; sub.unsubscribe(); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_b && !_b.done && (_c = _a.return)) _c.call(_a); } finally { if (e_1) throw e_1.error; } } var e_1, _c; }; DropdownToggleDirective.decorators = [ { type: Directive, args: [{ selector: '[hxDropdownToggle],[dropdownToggle]', exportAs: 'hx-dropdown-toggle' },] }, ]; /** @nocollapse */ DropdownToggleDirective.ctorParameters = function () { return [ { type: DropdownState, }, { type: ElementRef, }, { type: Renderer2, }, ]; }; DropdownToggleDirective.propDecorators = { "isDisabled": [{ type: HostBinding, args: ['attr.disabled',] },], "isOpen": [{ type: HostBinding, args: ['class.is-active',] }, { type: HostBinding, args: ['attr.aria-expanded',] },], "onClick": [{ type: HostListener, args: ['click', ['$event'],] },], "onDocumentClick": [{ type: HostListener, args: ['document:click', ['$event'],] },], "onEsc": [{ type: HostListener, args: ['keyup.esc',] },], }; return DropdownToggleDirective; }()); export { DropdownToggleDirective }; function DropdownToggleDirective_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ DropdownToggleDirective.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ DropdownToggleDirective.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ DropdownToggleDirective.propDecorators; /** @type {?} */ DropdownToggleDirective.prototype.isDisabled; /** @type {?} */ DropdownToggleDirective.prototype.isOpen; /** @type {?} */ DropdownToggleDirective.prototype._subscriptions; /** @type {?} */ DropdownToggleDirective.prototype._state; /** @type {?} */ DropdownToggleDirective.prototype._element; /** @type {?} */ DropdownToggleDirective.prototype._renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZHJvcGRvd24vZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWEsU0FBUyxFQUN2RSxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0lBaUQvQyxpQ0FBb0IsTUFBcUIsRUFDckIsVUFDQTtRQUZwQixpQkFVQztRQVZtQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRO1FBQ1IsY0FBUyxHQUFULFNBQVM7OEJBSlksRUFBRTs7UUFNekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDakMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFDLEtBQWMsSUFBSyxPQUFBLEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFuQixDQUFtQixDQUFDLENBQUMsQ0FBQzs7UUFFcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDakMsZ0JBQWdCO2FBQ2hCLFNBQVMsQ0FBQyxVQUFDLEtBQWMsSUFBSyxPQUFBLEtBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFBaEMsQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7S0FDckU7Ozs7O0lBN0NELHlDQUFPOzs7O2NBQUMsS0FBSztRQUNYLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLE1BQU0sQ0FBQztTQUNSO1FBRUQsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO1FBQUEsSUFBSSxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckM7Ozs7OztJQU9ILGlEQUFlOzs7O2NBQUMsS0FBVTtRQUN4QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDL0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckM7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JDOzs7OztJQUtILHVDQUFLOzs7O1FBQ0gsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQzs7Ozs7SUFpQkgsNkNBQVc7OztJQUFYOztZQUNFLEdBQUcsQ0FBQyxDQUFjLElBQUEsS0FBQSxpQkFBQSxJQUFJLENBQUMsY0FBYyxDQUFBLGdCQUFBO2dCQUFoQyxJQUFNLEdBQUcsV0FBQTtnQkFDWixHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDbkI7Ozs7Ozs7Ozs7S0FDRjs7Z0JBL0RGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjs7OztnQkFMUSxhQUFhO2dCQUpULFVBQVU7Z0JBQXdDLFNBQVM7OzsrQkFXckUsV0FBVyxTQUFDLGVBQWU7MkJBRzNCLFdBQVcsU0FBQyxpQkFBaUIsY0FDN0IsV0FBVyxTQUFDLG9CQUFvQjs0QkFFaEMsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztvQ0FnQmhDLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzswQkFXekMsWUFBWSxTQUFDLFdBQVc7O2tDQTdDM0I7O1NBV2EsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgUmVuZGVyZXIyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRHJvcGRvd25TdGF0ZSB9IGZyb20gJy4vZHJvcGRvd24uc3RhdGUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaHhEcm9wZG93blRvZ2dsZV0sW2Ryb3Bkb3duVG9nZ2xlXScsXHJcbiAgZXhwb3J0QXM6ICdoeC1kcm9wZG93bi10b2dnbGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcclxuICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWFjdGl2ZScpXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKSBpc09wZW46IGJvb2xlYW47XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuX3N0YXRlLmlzT3Blbikge1xyXG4gICAgICB0aGlzLl9zdGF0ZS50b2dnbGVDbGljay5lbWl0KHRydWUpO1xyXG4gICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLl9zdGF0ZS50b2dnbGVDbGljay5lbWl0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgLy8gUGVyZm9ybWFuY2UgaXNzdWUgd2l0aCBtdWx0aXBsZSBkb2N1bWVudCBsaXN0ZW5lcnNcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9zdGF0ZS5hdXRvQ2xvc2UgJiYgZXZlbnQuYnV0dG9uICE9PSAyICYmXHJcbiAgICAhdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcclxuICAgICAgdGhpcy5fc3RhdGUudG9nZ2xlQ2xpY2suZW1pdChmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgIHRoaXMuX3N0YXRlLnRvZ2dsZUNsaWNrLmVtaXQoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXVwLmVzYycpXHJcbiAgb25Fc2MoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fc3RhdGUuYXV0b0Nsb3NlKSB7XHJcbiAgICAgIHRoaXMuX3N0YXRlLnRvZ2dsZUNsaWNrLmVtaXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3RhdGU6IERyb3Bkb3duU3RhdGUsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICAvLyBzeW5jIGlzIG9wZW4gdmFsdWUgd2l0aCBzdGF0ZVxyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuX3N0YXRlXHJcbiAgICAgIC5pc09wZW5DaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4gdGhpcy5pc09wZW4gPSB2YWx1ZSkpO1xyXG4gICAgLy8gcG9wdWxhdGUgZGlzYWJsZWQgc3RhdGVcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaCh0aGlzLl9zdGF0ZVxyXG4gICAgICAuaXNEaXNhYmxlZENoYW5nZVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4gdGhpcy5pc0Rpc2FibGVkID0gdmFsdWUgfHwgZmFsc2UpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBzdWIgb2YgdGhpcy5fc3Vic2NyaXB0aW9ucykge1xyXG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19