{ "version": 3, "sources": ["apps/vendor-center-client/src/app/core/routing-guards/preview-edit-can-deactivate-guard.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { AppChangesDialogComponent } from '../../shared/app-changes-dialog/app-changes-dialog.component';\nimport { MarketingEditAndPreview } from './marketing-preview-edit.interface';\n\n@Injectable()\nexport class MarketingPreviewAndEditGuard {\n constructor(public dialog: MatDialog) {}\n\n canDeactivate(\n component: MarketingEditAndPreview,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n currentRoute: ActivatedRouteSnapshot,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n currentState: RouterStateSnapshot,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n nextState?: RouterStateSnapshot,\n ): Observable | Promise | boolean {\n if (component.isPageEdited()) {\n const dialog = this.dialog.open(AppChangesDialogComponent, {\n width: '300px',\n });\n dialog.afterClosed().subscribe(() => {\n dialog.componentInstance.navigationEvent.unsubscribe();\n });\n return dialog.componentInstance.navigationEvent.pipe(\n map((message) => message === 'Navigate'),\n take(1),\n );\n } else {\n return true;\n }\n }\n}\n"], "mappings": "+IASA,IAAaA,GAA4B,IAAA,CAAnC,IAAOA,EAAP,MAAOA,CAA4B,CACvCC,YAAmBC,EAAiB,CAAjB,KAAAA,OAAAA,CAAoB,CAEvCC,cACEC,EAEAC,EAEAC,EAEAC,EAA+B,CAE/B,GAAIH,EAAUI,aAAY,EAAI,CAC5B,IAAMN,EAAS,KAAKA,OAAOO,KAAKC,EAA2B,CACzDC,MAAO,QACR,EACDT,OAAAA,EAAOU,YAAW,EAAGC,UAAU,IAAK,CAClCX,EAAOY,kBAAkBC,gBAAgBC,YAAW,CACtD,CAAC,EACMd,EAAOY,kBAAkBC,gBAAgBE,KAC9CC,EAAKC,GAAYA,IAAY,UAAU,EACvCC,EAAK,CAAC,CAAC,CAEX,KACE,OAAO,EAEX,yCA1BWpB,GAA4BqB,EAAAC,CAAA,CAAA,CAAA,wBAA5BtB,EAA4BuB,QAA5BvB,EAA4BwB,SAAA,CAAA,EAAnC,IAAOxB,EAAPyB,SAAOzB,CAA4B,GAAA", "names": ["MarketingPreviewAndEditGuard", "constructor", "dialog", "canDeactivate", "component", "currentRoute", "currentState", "nextState", "isPageEdited", "open", "AppChangesDialogComponent", "width", "afterClosed", "subscribe", "componentInstance", "navigationEvent", "unsubscribe", "pipe", "map", "message", "take", "\u0275\u0275inject", "MatDialog", "factory", "\u0275fac", "_MarketingPreviewAndEditGuard"] }