UNPKG

@kushki/ng-suka

Version:

<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>

141 lines 11.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // tslint:disable: no-input-rename no-output-rename import { Input, Directive, HostListener, EventEmitter, Output } from '@angular/core'; import { ModalService } from './modal.service'; /** @type {?} */ var PRIMARY_ACTION_TAG = 'primaryAction'; /** @type {?} */ var SECONDARY_ACTION_TAG = 'secondaryAction'; var ModalDirective = /** @class */ (function () { function ModalDirective(modalService) { this.modalService = modalService; this.closeButton = false; this.closeOnBackdropClick = true; this.close = new EventEmitter(); this.secondaryAction = new EventEmitter(); this.primaryAction = new EventEmitter(); } /** * @return {?} */ ModalDirective.prototype.onClick = /** * @return {?} */ function () { this.openModal(); }; /** * @private * @return {?} */ ModalDirective.prototype.openModal = /** * @private * @return {?} */ function () { var _this = this; /** @type {?} */ var modalConfig = { closeOnBackdropClick: this.closeOnBackdropClick, content: { closeButton: this.closeButton, title: this.title, body: this.body, } }; if (this.primaryActionLabel || this.secondaryActionLabel) { modalConfig.content.actions = []; if (this.primaryActionLabel) { modalConfig.content.actions.push({ label: this.primaryActionLabel, type: 'primary', tag: PRIMARY_ACTION_TAG }); } if (this.secondaryActionLabel) { modalConfig.content.actions.push({ label: this.secondaryActionLabel, type: 'secondary', tag: SECONDARY_ACTION_TAG }); } } /** @type {?} */ var modalRef = this.modalService.open(modalConfig); modalRef.afterClosed().subscribe((/** * @param {?} result * @return {?} */ function (result) { switch (result) { case PRIMARY_ACTION_TAG: if (_this.primaryAction.observers.length > 0) { _this.primaryAction.emit(result); } break; case SECONDARY_ACTION_TAG: if (_this.secondaryAction.observers.length > 0) { _this.secondaryAction.emit(result); } break; default: if (_this.close.observers.length > 0) { _this.close.emit(); } break; } })); }; ModalDirective.decorators = [ { type: Directive, args: [{ selector: '[sukaModal]' },] } ]; /** @nocollapse */ ModalDirective.ctorParameters = function () { return [ { type: ModalService } ]; }; ModalDirective.propDecorators = { closeButton: [{ type: Input, args: ['modalCloseButton',] }], title: [{ type: Input, args: ['modalTitle',] }], body: [{ type: Input, args: ['modalBody',] }], closeOnBackdropClick: [{ type: Input, args: ['modalCloseOnBackdropClick',] }], close: [{ type: Output, args: ['modalClose',] }], secondaryActionLabel: [{ type: Input, args: ['modalSecondaryActionLabel',] }], secondaryAction: [{ type: Output, args: ['modalSecondaryAction',] }], primaryActionLabel: [{ type: Input, args: ['modalPrimaryActionLabel',] }], primaryAction: [{ type: Output, args: ['modalPrimaryAction',] }], onClick: [{ type: HostListener, args: ['click',] }] }; return ModalDirective; }()); export { ModalDirective }; if (false) { /** @type {?} */ ModalDirective.prototype.closeButton; /** @type {?} */ ModalDirective.prototype.title; /** @type {?} */ ModalDirective.prototype.body; /** @type {?} */ ModalDirective.prototype.closeOnBackdropClick; /** @type {?} */ ModalDirective.prototype.close; /** @type {?} */ ModalDirective.prototype.secondaryActionLabel; /** @type {?} */ ModalDirective.prototype.secondaryAction; /** @type {?} */ ModalDirective.prototype.primaryActionLabel; /** @type {?} */ ModalDirective.prototype.primaryAction; /** * @type {?} * @protected */ ModalDirective.prototype.modalService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL21vZGFsL21vZGFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQzs7SUFHdEQsa0JBQWtCLEdBQUcsZUFBZTs7SUFDcEMsb0JBQW9CLEdBQUcsaUJBQWlCO0FBRTlDO0lBSUUsd0JBQXNCLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRXJCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR1gseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTFDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2pCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFiYixDQUFDOzs7O0lBZ0JyRCxnQ0FBTzs7O0lBRFA7UUFFRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Ozs7SUFFTyxrQ0FBUzs7OztJQUFqQjtRQUFBLGlCQW1EQzs7WUFsRE8sV0FBVyxHQUFnQjtZQUMvQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQy9DLE9BQU8sRUFBRTtnQkFDUCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDeEQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBRWpDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUMzQixXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO29CQUM5QixJQUFJLEVBQUUsU0FBUztvQkFDZixHQUFHLEVBQUUsa0JBQWtCO2lCQUN4QixDQUFDLENBQUM7YUFDSjtZQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM3QixXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CO29CQUNoQyxJQUFJLEVBQUUsV0FBVztvQkFDakIsR0FBRyxFQUFFLG9CQUFvQjtpQkFDMUIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjs7WUFFSyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXBELFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQyxNQUFXO1lBQzNDLFFBQVEsTUFBTSxFQUFFO2dCQUNkLEtBQUssa0JBQWtCO29CQUNyQixJQUFJLEtBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzNDLEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNqQztvQkFDRCxNQUFNO2dCQUNSLEtBQUssb0JBQW9CO29CQUN2QixJQUFJLEtBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzdDLEtBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNuQztvQkFDRCxNQUFNO2dCQUNSO29CQUNFLElBQUksS0FBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDbkMsS0FBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztxQkFDbkI7b0JBQ0QsTUFBTTthQUNUO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkEzRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO2lCQUN4Qjs7OztnQkFSUSxZQUFZOzs7OEJBWWxCLEtBQUssU0FBQyxrQkFBa0I7d0JBQ3hCLEtBQUssU0FBQyxZQUFZO3VCQUNsQixLQUFLLFNBQUMsV0FBVzt1Q0FDakIsS0FBSyxTQUFDLDJCQUEyQjt3QkFFakMsTUFBTSxTQUFDLFlBQVk7dUNBRW5CLEtBQUssU0FBQywyQkFBMkI7a0NBQ2pDLE1BQU0sU0FBQyxzQkFBc0I7cUNBRTdCLEtBQUssU0FBQyx5QkFBeUI7Z0NBQy9CLE1BQU0sU0FBQyxvQkFBb0I7MEJBRTNCLFlBQVksU0FBQyxPQUFPOztJQXlEdkIscUJBQUM7Q0FBQSxBQTVFRCxJQTRFQztTQXpFWSxjQUFjOzs7SUFHekIscUNBQStDOztJQUMvQywrQkFBc0Q7O0lBQ3RELDhCQUFvRDs7SUFDcEQsOENBQWdFOztJQUVoRSwrQkFBaUQ7O0lBRWpELDhDQUFpRTs7SUFDakUseUNBQXFFOztJQUVyRSw0Q0FBNkQ7O0lBQzdELHVDQUFpRTs7Ozs7SUFickQsc0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG5vLWlucHV0LXJlbmFtZSBuby1vdXRwdXQtcmVuYW1lXG5cbmltcG9ydCB7IElucHV0LCBUZW1wbGF0ZVJlZiwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsU2VydmljZSwgTW9kYWxDb25maWcgfSBmcm9tICcuL21vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IFBSSU1BUllfQUNUSU9OX1RBRyA9ICdwcmltYXJ5QWN0aW9uJztcbmNvbnN0IFNFQ09OREFSWV9BQ1RJT05fVEFHID0gJ3NlY29uZGFyeUFjdGlvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzdWthTW9kYWxdJ1xufSlcbmV4cG9ydCBjbGFzcyBNb2RhbERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkgeyB9XG5cbiAgQElucHV0KCdtb2RhbENsb3NlQnV0dG9uJykgY2xvc2VCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCdtb2RhbFRpdGxlJykgdGl0bGU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgnbW9kYWxCb2R5JykgYm9keTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCdtb2RhbENsb3NlT25CYWNrZHJvcENsaWNrJykgY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSB0cnVlO1xuXG4gIEBPdXRwdXQoJ21vZGFsQ2xvc2UnKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoJ21vZGFsU2Vjb25kYXJ5QWN0aW9uTGFiZWwnKSBzZWNvbmRhcnlBY3Rpb25MYWJlbDogc3RyaW5nO1xuICBAT3V0cHV0KCdtb2RhbFNlY29uZGFyeUFjdGlvbicpIHNlY29uZGFyeUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoJ21vZGFsUHJpbWFyeUFjdGlvbkxhYmVsJykgcHJpbWFyeUFjdGlvbkxhYmVsOiBzdHJpbmc7XG4gIEBPdXRwdXQoJ21vZGFsUHJpbWFyeUFjdGlvbicpIHByaW1hcnlBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCkge1xuICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Nb2RhbCgpIHtcbiAgICBjb25zdCBtb2RhbENvbmZpZzogTW9kYWxDb25maWcgPSB7XG4gICAgICBjbG9zZU9uQmFja2Ryb3BDbGljazogdGhpcy5jbG9zZU9uQmFja2Ryb3BDbGljayxcbiAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgY2xvc2VCdXR0b246IHRoaXMuY2xvc2VCdXR0b24sXG4gICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgICBib2R5OiB0aGlzLmJvZHksXG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICh0aGlzLnByaW1hcnlBY3Rpb25MYWJlbCB8fCB0aGlzLnNlY29uZGFyeUFjdGlvbkxhYmVsKSB7XG4gICAgICBtb2RhbENvbmZpZy5jb250ZW50LmFjdGlvbnMgPSBbXTtcblxuICAgICAgaWYgKHRoaXMucHJpbWFyeUFjdGlvbkxhYmVsKSB7XG4gICAgICAgIG1vZGFsQ29uZmlnLmNvbnRlbnQuYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogdGhpcy5wcmltYXJ5QWN0aW9uTGFiZWwsXG4gICAgICAgICAgdHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgIHRhZzogUFJJTUFSWV9BQ1RJT05fVEFHXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5zZWNvbmRhcnlBY3Rpb25MYWJlbCkge1xuICAgICAgICBtb2RhbENvbmZpZy5jb250ZW50LmFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgbGFiZWw6IHRoaXMuc2Vjb25kYXJ5QWN0aW9uTGFiZWwsXG4gICAgICAgICAgdHlwZTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgdGFnOiBTRUNPTkRBUllfQUNUSU9OX1RBR1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4obW9kYWxDb25maWcpO1xuXG4gICAgbW9kYWxSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICBzd2l0Y2ggKHJlc3VsdCkge1xuICAgICAgICBjYXNlIFBSSU1BUllfQUNUSU9OX1RBRzpcbiAgICAgICAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnByaW1hcnlBY3Rpb24uZW1pdChyZXN1bHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTRUNPTkRBUllfQUNUSU9OX1RBRzpcbiAgICAgICAgICBpZiAodGhpcy5zZWNvbmRhcnlBY3Rpb24ub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9uLmVtaXQocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaWYgKHRoaXMuY2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19