UNPKG

@skireal/form-builder

Version:
48 lines 6.44 kB
import { __decorate } from "tslib"; import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector } from '@angular/core'; import { ConfirmationDialogComponent } from '../components/shared/confirmation-dialog/confirmation-dialog.component'; import * as i0 from "@angular/core"; var ConfirmationService = /** @class */ (function () { function ConfirmationService(appRef, componentFactoryResolver, injector) { this.appRef = appRef; this.componentFactoryResolver = componentFactoryResolver; this.injector = injector; this.dialogComponentRef = null; } ConfirmationService.prototype.open = function (message) { var _this = this; return new Promise(function (resolve) { var factory = _this.componentFactoryResolver.resolveComponentFactory(ConfirmationDialogComponent); _this.dialogComponentRef = factory.create(_this.injector); _this.dialogComponentRef.instance.message = message; _this.dialogComponentRef.instance.confirm.subscribe(function (result) { resolve(result); _this.close(); }); _this.appRef.attachView(_this.dialogComponentRef.hostView); var domElem = _this.dialogComponentRef.hostView.rootNodes[0]; document.body.appendChild(domElem); }); }; ConfirmationService.prototype.close = function () { if (this.dialogComponentRef) { this.appRef.detachView(this.dialogComponentRef.hostView); this.dialogComponentRef.destroy(); this.dialogComponentRef = null; } }; ConfirmationService.ctorParameters = function () { return [ { type: ApplicationRef }, { type: ComponentFactoryResolver }, { type: Injector } ]; }; ConfirmationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.INJECTOR)); }, token: ConfirmationService, providedIn: "root" }); ConfirmationService = __decorate([ Injectable({ providedIn: 'root' }) ], ConfirmationService); return ConfirmationService; }()); export { ConfirmationService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2tpcmVhbC9mb3JtLWJ1aWxkZXIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDOztBQUtySDtJQUdFLDZCQUNVLE1BQXNCLEVBQ3RCLHdCQUFrRCxFQUNsRCxRQUFrQjtRQUZsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFMcEIsdUJBQWtCLEdBQXFELElBQUksQ0FBQztJQU1qRixDQUFDO0lBRUosa0NBQUksR0FBSixVQUFLLE9BQWU7UUFBcEIsaUJBa0JDO1FBakJDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO1lBQ3pCLElBQU0sT0FBTyxHQUFHLEtBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FDbkUsMkJBQTJCLENBQzVCLENBQUM7WUFDRixLQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFeEQsS0FBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ25ELEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFDLE1BQWU7Z0JBQ2pFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEIsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7WUFFSCxLQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFekQsSUFBTSxPQUFPLEdBQUksS0FBSSxDQUFDLGtCQUFrQixDQUFDLFFBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztZQUN0RixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQ0FBSyxHQUFMO1FBQ0UsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7Z0JBL0JpQixjQUFjO2dCQUNJLHdCQUF3QjtnQkFDeEMsUUFBUTs7O0lBTmpCLG1CQUFtQjtRQUgvQixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csbUJBQW1CLENBb0MvQjs4QkFoREQ7Q0FnREMsQUFwQ0QsSUFvQ0M7U0FwQ1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvc2hhcmVkL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBkaWFsb2dDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIG9wZW4obWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudFxuICAgICAgKTtcbiAgICAgIHRoaXMuZGlhbG9nQ29tcG9uZW50UmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG5cbiAgICAgIHRoaXMuZGlhbG9nQ29tcG9uZW50UmVmLmluc3RhbmNlLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlybS5zdWJzY3JpYmUoKHJlc3VsdDogYm9vbGVhbikgPT4ge1xuICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuZGlhbG9nQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLmRpYWxvZ0NvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBhbnkpLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAodGhpcy5kaWFsb2dDb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5kaWFsb2dDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5kaWFsb2dDb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19