@junte/ui
Version:
Quality Angular UI components kit
35 lines • 3.78 kB
JavaScript
import { __decorate } from "tslib";
import { EventEmitter, Injectable } from '@angular/core';
import * as i0 from "@angular/core";
var ModalService = /** @class */ (function () {
function ModalService() {
this.opened$ = new EventEmitter();
}
ModalService.prototype.checkRegistration = function () {
if (!this.modal) {
throw new Error('modal component is not registered');
}
};
ModalService.prototype.register = function (modal) {
var _this = this;
this.modal = modal;
this.modal.opened$.subscribe(function (opened) { return _this.opened$.emit(opened); });
};
ModalService.prototype.open = function (content, options) {
if (options === void 0) { options = {}; }
this.checkRegistration();
// TODO: use merge options
this.modal.open(content, options);
};
ModalService.prototype.close = function () {
this.checkRegistration();
this.modal.close();
};
ModalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ModalService_Factory() { return new ModalService(); }, token: ModalService, providedIn: "root" });
ModalService = __decorate([
Injectable({ providedIn: 'root' })
], ModalService);
return ModalService;
}());
export { ModalService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9vdmVybGF5cy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJekQ7SUFBQTtRQUlFLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBd0J2QztJQXRCUyx3Q0FBaUIsR0FBekI7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFRCwrQkFBUSxHQUFSLFVBQVMsS0FBcUI7UUFBOUIsaUJBR0M7UUFGQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBekIsQ0FBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCwyQkFBSSxHQUFKLFVBQUssT0FBc0IsRUFBRSxPQUFtQztRQUFuQyx3QkFBQSxFQUFBLFlBQW1DO1FBQzlELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELDRCQUFLLEdBQUw7UUFDRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7O0lBMUJVLFlBQVk7UUFEeEIsVUFBVSxDQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDO09BQ3BCLFlBQVksQ0E0QnhCO3VCQWhDRDtDQWdDQyxBQTVCRCxJQTRCQztTQTVCWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCwgTW9kYWxDb250ZW50LCBNb2RhbE9wdGlvbnMgfSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBtb2RhbDogTW9kYWxDb21wb25lbnQ7XG5cbiAgb3BlbmVkJCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwcml2YXRlIGNoZWNrUmVnaXN0cmF0aW9uKCkge1xuICAgIGlmICghdGhpcy5tb2RhbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtb2RhbCBjb21wb25lbnQgaXMgbm90IHJlZ2lzdGVyZWQnKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlcihtb2RhbDogTW9kYWxDb21wb25lbnQpIHtcbiAgICB0aGlzLm1vZGFsID0gbW9kYWw7XG4gICAgdGhpcy5tb2RhbC5vcGVuZWQkLnN1YnNjcmliZShvcGVuZWQgPT4gdGhpcy5vcGVuZWQkLmVtaXQob3BlbmVkKSk7XG4gIH1cblxuICBvcGVuKGNvbnRlbnQ/OiBNb2RhbENvbnRlbnQsIG9wdGlvbnM6IFBhcnRpYWw8TW9kYWxPcHRpb25zPiA9IHt9KSB7XG4gICAgdGhpcy5jaGVja1JlZ2lzdHJhdGlvbigpO1xuICAgIC8vIFRPRE86IHVzZSBtZXJnZSBvcHRpb25zXG4gICAgdGhpcy5tb2RhbC5vcGVuKGNvbnRlbnQsIG9wdGlvbnMpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jaGVja1JlZ2lzdHJhdGlvbigpO1xuICAgIHRoaXMubW9kYWwuY2xvc2UoKTtcbiAgfVxuXG59XG4iXX0=