@junte/ui
Version:
Quality Angular UI components kit
32 lines • 3.41 kB
JavaScript
import { __decorate } from "tslib";
import { EventEmitter, Injectable } from '@angular/core';
import * as i0 from "@angular/core";
let ModalService = class ModalService {
constructor() {
this.opened$ = new EventEmitter();
}
checkRegistration() {
if (!this.modal) {
throw new Error('modal component is not registered');
}
}
register(modal) {
this.modal = modal;
this.modal.opened$.subscribe(opened => this.opened$.emit(opened));
}
open(content, options = {}) {
this.checkRegistration();
// TODO: use merge options
this.modal.open(content, options);
}
close() {
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);
export { ModalService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9vdmVybGF5cy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJekQsSUFBYSxZQUFZLEdBQXpCLE1BQWEsWUFBWTtJQUF6QjtRQUlFLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBd0J2QztJQXRCUyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXFCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFzQixFQUFFLFVBQWlDLEVBQUU7UUFDOUQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUVGLENBQUE7O0FBNUJZLFlBQVk7SUFEeEIsVUFBVSxDQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDO0dBQ3BCLFlBQVksQ0E0QnhCO1NBNUJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50LCBNb2RhbENvbnRlbnQsIE1vZGFsT3B0aW9ucyB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIHtcblxuICBwcml2YXRlIG1vZGFsOiBNb2RhbENvbXBvbmVudDtcblxuICBvcGVuZWQkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgY2hlY2tSZWdpc3RyYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLm1vZGFsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21vZGFsIGNvbXBvbmVudCBpcyBub3QgcmVnaXN0ZXJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyKG1vZGFsOiBNb2RhbENvbXBvbmVudCkge1xuICAgIHRoaXMubW9kYWwgPSBtb2RhbDtcbiAgICB0aGlzLm1vZGFsLm9wZW5lZCQuc3Vic2NyaWJlKG9wZW5lZCA9PiB0aGlzLm9wZW5lZCQuZW1pdChvcGVuZWQpKTtcbiAgfVxuXG4gIG9wZW4oY29udGVudD86IE1vZGFsQ29udGVudCwgb3B0aW9uczogUGFydGlhbDxNb2RhbE9wdGlvbnM+ID0ge30pIHtcbiAgICB0aGlzLmNoZWNrUmVnaXN0cmF0aW9uKCk7XG4gICAgLy8gVE9ETzogdXNlIG1lcmdlIG9wdGlvbnNcbiAgICB0aGlzLm1vZGFsLm9wZW4oY29udGVudCwgb3B0aW9ucyk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNoZWNrUmVnaXN0cmF0aW9uKCk7XG4gICAgdGhpcy5tb2RhbC5jbG9zZSgpO1xuICB9XG5cbn1cbiJdfQ==