UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

32 lines 5.03 kB
import { DialogService } from '@alauda/ui'; import { Injectable } from '@angular/core'; import { from, of, map } from 'rxjs'; import { TranslateService } from '../../translate/public-api'; import { ESCAPE_DEACTIVATE_CHECK } from '../constants/public-api'; import { skipError } from '../utils/public-api'; import * as i0 from "@angular/core"; import * as i1 from "@alauda/ui"; import * as i2 from "../../translate/public-api"; export class EditPageLeaveGuardService { constructor(dialogService, translate) { this.dialogService = dialogService; this.translate = translate; } canDeactivate(_, _ars, _rss, nextState) { if (nextState.root.fragment === ESCAPE_DEACTIVATE_CHECK) { return of(true); } return from(this.dialogService.confirm({ title: this.translate.get('create_page_leave_tip'), content: this.translate.get('create_page_leave_content'), confirmText: this.translate.get('confirm'), cancelText: this.translate.get('cancel'), })).pipe(map(() => true), skipError(false)); } static { this.ɵfac = function EditPageLeaveGuardService_Factory(t) { return new (t || EditPageLeaveGuardService)(i0.ɵɵinject(i1.DialogService), i0.ɵɵinject(i2.TranslateService)); }; } static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditPageLeaveGuardService, factory: EditPageLeaveGuardService.ɵfac }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditPageLeaveGuardService, [{ type: Injectable }], () => [{ type: i1.DialogService }, { type: i2.TranslateService }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtZWRpdC1wYWdlLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvZ3VhcmRzL2xlYXZlLWVkaXQtcGFnZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNdEQsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUdoRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQ21CLGFBQTRCLEVBQzVCLFNBQTJCO1FBRDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQzNDLENBQUM7SUFFSixhQUFhLENBQ1gsQ0FBWSxFQUNaLElBQTRCLEVBQzVCLElBQXlCLEVBQ3pCLFNBQStCO1FBRS9CLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLEVBQUUsQ0FBQztZQUN4RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDO1lBQ2xELE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztZQUN4RCxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQzFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDekMsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDZixTQUFTLENBQUMsS0FBSyxDQUFDLENBQ2pCLENBQUM7SUFDSixDQUFDOzBGQTFCVSx5QkFBeUI7dUVBQXpCLHlCQUF5QixXQUF6Qix5QkFBeUI7O2lGQUF6Qix5QkFBeUI7Y0FEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuRGVhY3RpdmF0ZSxcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZyb20sIG9mLCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVTQ0FQRV9ERUFDVElWQVRFX0NIRUNLIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgc2tpcEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvcHVibGljLWFwaSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFZGl0UGFnZUxlYXZlR3VhcmRTZXJ2aWNlIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxDb21wb25lbnQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgY2FuRGVhY3RpdmF0ZShcbiAgICBfOiBDb21wb25lbnQsXG4gICAgX2FyczogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICBfcnNzOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICAgIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QsXG4gICkge1xuICAgIGlmIChuZXh0U3RhdGUucm9vdC5mcmFnbWVudCA9PT0gRVNDQVBFX0RFQUNUSVZBVEVfQ0hFQ0spIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybSh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NyZWF0ZV9wYWdlX2xlYXZlX3RpcCcpLFxuICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NyZWF0ZV9wYWdlX2xlYXZlX2NvbnRlbnQnKSxcbiAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY29uZmlybScpLFxuICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgfSksXG4gICAgKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgc2tpcEVycm9yKGZhbHNlKSxcbiAgICApO1xuICB9XG59XG4iXX0=