@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
JavaScript
/**
* @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