UNPKG

ontimize-web-ngx

Version:
48 lines 6.31 kB
import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { DialogService } from '../../../services/dialog.service'; import { Util } from '../../../util/util'; import * as i0 from "@angular/core"; import * as i1 from "../../../services/dialog.service"; export class OFormConfirmExitService { constructor(dialogService) { this.dialogService = dialogService; } subscribeToDiscardChanges(form, ignoreAttrs = []) { let subscription; if (form.isInitialStateChanged(ignoreAttrs)) { subscription = this.getConfirmDialogSubscription(form); } else { const observable = new Observable(observer => { observer.next(true); observer.complete(); }); subscription = observable.toPromise(); } return subscription; } restart() { this.confirmDialogSubscription = null; } getConfirmDialogSubscription(form) { if (!Util.isDefined(this.confirmDialogSubscription)) { this.confirmDialogSubscription = new Promise((resolve) => { this.dialogService.confirm(form.messageService.getDiscardChangesConfirmationDialogTitle(), form.messageService.getDiscardChangesConfirmationMessage()).then((res) => { this.restart(); resolve(res); }); }); } return this.confirmDialogSubscription; } } OFormConfirmExitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFormConfirmExitService, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); OFormConfirmExitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFormConfirmExitService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFormConfirmExitService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.DialogService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLWNvbmZpcm0tZXhpdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9uYXZpZ2F0aW9uL28tZm9ybS1jb25maXJtLWV4aXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSzFDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFBc0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRXZELHlCQUF5QixDQUFDLElBQWUsRUFBRSxjQUF3QixFQUFFO1FBQ25FLElBQUksWUFBOEIsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQyxZQUFZLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hEO2FBQU07WUFDTCxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBVSxRQUFRLENBQUMsRUFBRTtnQkFDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsWUFBWSxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN2QztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxPQUFPO1FBQ2YsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRVMsNEJBQTRCLENBQUMsSUFBZTtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsd0NBQXdDLEVBQUUsRUFDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ3ZFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDZixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQUE7WUFDTixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQzs7cUhBcENVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0Zvcm1CYXNlIH0gZnJvbSAnLi4vby1mb3JtLWJhc2UuY2xhc3MnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT0Zvcm1Db25maXJtRXhpdFNlcnZpY2Uge1xuXG4gIHByb3RlY3RlZCBjb25maXJtRGlhbG9nU3Vic2NyaXB0aW9uOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7IH1cblxuICBzdWJzY3JpYmVUb0Rpc2NhcmRDaGFuZ2VzKGZvcm06IE9Gb3JtQmFzZSwgaWdub3JlQXR0cnM6IHN0cmluZ1tdID0gW10pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgc3Vic2NyaXB0aW9uOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIGlmIChmb3JtLmlzSW5pdGlhbFN0YXRlQ2hhbmdlZChpZ25vcmVBdHRycykpIHtcbiAgICAgIHN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0Q29uZmlybURpYWxvZ1N1YnNjcmlwdGlvbihmb3JtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KG9ic2VydmVyID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh0cnVlKTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgICAgc3Vic2NyaXB0aW9uID0gb2JzZXJ2YWJsZS50b1Byb21pc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXN0YXJ0KCkge1xuICAgIHRoaXMuY29uZmlybURpYWxvZ1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29uZmlybURpYWxvZ1N1YnNjcmlwdGlvbihmb3JtOiBPRm9ybUJhc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuY29uZmlybURpYWxvZ1N1YnNjcmlwdGlvbikpIHtcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1N1YnNjcmlwdGlvbiA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgICAgIGZvcm0ubWVzc2FnZVNlcnZpY2UuZ2V0RGlzY2FyZENoYW5nZXNDb25maXJtYXRpb25EaWFsb2dUaXRsZSgpLFxuICAgICAgICAgIGZvcm0ubWVzc2FnZVNlcnZpY2UuZ2V0RGlzY2FyZENoYW5nZXNDb25maXJtYXRpb25NZXNzYWdlKCkpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXN0YXJ0KCk7XG4gICAgICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb25maXJtRGlhbG9nU3Vic2NyaXB0aW9uO1xuICB9XG59XG5cbiJdfQ==