UNPKG

@kovalenko/has-unsaved-data

Version:

Provides a router guard preventing route deactivation, if the component\`s method decorated with `@CheckUnsavedData()` returns `true`. Also it prevents the window to be unloaded.

29 lines 3.38 kB
import { NgModule } from '@angular/core'; import { UNSAVED_DATA_CONFIG } from './unsaved-data.config'; import * as i0 from "@angular/core"; export class HasUnsavedDataModule { static config(config) { return { ngModule: HasUnsavedDataModule, providers: [ config.confirmService, { provide: UNSAVED_DATA_CONFIG, useValue: { message: config.message ?? 'There is unsaved data', title: config.title, ok: config.ok ?? 'Ok', cancel: config.cancel ?? 'Cancel', } }, ], }; } } HasUnsavedDataModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: HasUnsavedDataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); HasUnsavedDataModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: HasUnsavedDataModule }); HasUnsavedDataModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: HasUnsavedDataModule }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: HasUnsavedDataModule, decorators: [{ type: NgModule }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLXVuc2F2ZWQtZGF0YS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9oYXMtdW5zYXZlZC1kYXRhL3NyYy9saWIvaGFzLXVuc2F2ZWQtZGF0YS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRzFELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFvQjtRQUNoQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1QsTUFBTSxDQUFDLGNBQWM7Z0JBQ3JCO29CQUNFLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRTt3QkFDUixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSx1QkFBdUI7d0JBQ2xELEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzt3QkFDbkIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksSUFBSTt3QkFDckIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLElBQUksUUFBUTtxQkFDbEM7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztpSEFqQlUsb0JBQW9CO2tIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZHVsZUNvbmZpZ30gZnJvbSAnLi9tb2R1bGUtY29uZmlnJztcbmltcG9ydCB7VU5TQVZFRF9EQVRBX0NPTkZJR30gZnJvbSAnLi91bnNhdmVkLWRhdGEuY29uZmlnJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBIYXNVbnNhdmVkRGF0YU1vZHVsZSB7XG4gIHN0YXRpYyBjb25maWcoY29uZmlnOiBNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEhhc1Vuc2F2ZWREYXRhTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBIYXNVbnNhdmVkRGF0YU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb25maWcuY29uZmlybVNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBVTlNBVkVEX0RBVEFfQ09ORklHLFxuICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICBtZXNzYWdlOiBjb25maWcubWVzc2FnZSA/PyAnVGhlcmUgaXMgdW5zYXZlZCBkYXRhJyxcbiAgICAgICAgICAgIHRpdGxlOiBjb25maWcudGl0bGUsXG4gICAgICAgICAgICBvazogY29uZmlnLm9rID8/ICdPaycsXG4gICAgICAgICAgICBjYW5jZWw6IGNvbmZpZy5jYW5jZWwgPz8gJ0NhbmNlbCcsXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=