{"version":3,"file":"main.js","mappings":"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","names":["LoadingInterceptor","constructor","loadingService","this","intercept","request","next","log","setCounter","setLoading","handle","pipe","rxjs_operators__WEBPACK_IMPORTED_MODULE_1__","responseCount","requestCount","_angular_core__WEBPACK_IMPORTED_MODULE_2__","factory","LoaderService","loading","getLoading","getCounter","TimeoutInterceptor","DEFAULT_TIMEOUT","rxjs_operators__WEBPACK_IMPORTED_MODULE_2__","error","_angular_core__WEBPACK_IMPORTED_MODULE_3__","environment","production","version","key","apiOrigin","routes","path","loadChildren","Promise","then","m","AuthModule","UserJourneyModule","Phase2Module","AdminModule","AppRoutingModule","router","useHash","core","SpinnerComponent","loader","ngOnInit","selectors","AppComponent","ErrorInterceptor","snackBar","req","catchError","errorMessage","ErrorEvent","status","Message","open","duration","panelClass","throwError","AppModule","bootstrap","provide","http","useClass","loading_interceptor","multi","timeout_interceptor","common","fesm2020_core","useValue","imports","platform_browser","snack_bar","animations","ng2_pdf_viewer","dialog","fesm2020_button","N","bootstrapModule","catch","err","console"],"sourceRoot":"webpack:///","sources":["./src/app/loading.interceptor.ts","./src/app/services/loader.service.ts","./src/app/timeout.interceptor.ts","./src/environments/environment.ts","./src/app/app-routing.module.ts","./src/app/spinner/spinner.component.html","./src/app/spinner/spinner.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/services/interceptor/error.interceptor.ts","./src/app/app.module.ts","./src/main.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { LoaderService } from './services/loader.service';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n\r\n // private totalRequests = 0;\r\n private responseCount = 1;\r\n\r\n constructor(\r\n private loadingService: LoaderService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n console.log('caught')\r\n // this.totalRequests++;\r\n this.loadingService.setCounter();\r\n this.loadingService.setLoading(true);\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n // this.totalRequests--;\r\n // if (this.totalRequests == 0) {\r\n // this.loadingService.setLoading(false);\r\n // }\r\n if (this.responseCount >= this.loadingService.requestCount) {\r\n this.loadingService.setLoading(false);\r\n this.responseCount = 1;\r\n this.loadingService.requestCount = 0;\r\n } else {\r\n this.responseCount++\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n requestCount: number = 0;\r\n private loading: boolean = false;\r\n\r\n constructor() { }\r\n\r\n setLoading(loading: boolean) {\r\n // console.log('set Loading', loading)\r\n this.loading = loading;\r\n }\r\n\r\n getLoading(): boolean {\r\n // console.log('get Loading', this.loading)\r\n return this.loading;\r\n }\r\n\r\n setCounter(){\r\n this.requestCount++\r\n // console.log('set reqcount', this.requestCount)\r\n }\r\n getCounter(){\r\n // console.log('get reqcount', this.requestCount)\r\n return this.requestCount;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { timeout, catchError } from 'rxjs/operators';\r\nimport { LoaderService } from './services/loader.service';\r\n\r\n@Injectable()\r\nexport class TimeoutInterceptor implements HttpInterceptor {\r\n\r\n private readonly DEFAULT_TIMEOUT = 60000;\r\n\r\n constructor(\r\n private loadingService: LoaderService\r\n ) {}\r\n\r\n intercept(\r\n request: HttpRequest, next: HttpHandler): Observable> {\r\n console.log('Timeout Interceptor Working');\r\n \r\n return next.handle(request).pipe(\r\n timeout(this.DEFAULT_TIMEOUT),\r\n catchError((error) => {\r\n console.error('Request timed out or failed:', error);\r\n throw error;\r\n })\r\n );\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n version: 'DEV',\r\n key : 92092398948,\r\n\r\n // apiOrigin: 'https://sfa1.mankindpharma.in/Itap_QA/api' // QA ITAP New\r\n \r\n apiOrigin: 'https://sfa1.mankindpharma.in/Itap_PRD/api' // PROD ITAP New\r\n\r\n // apiOrigin: 'https://testwsfa.mankindpharma.in/WSFAAPI_ITAP/api' // UAT Old\r\n // apiOrigin: 'https://testwsfa.mankindpharma.in/WSFAAPI_PREPROD/api' // Pre-Prod\r\n // apiOrigin: 'https://sfa1.mankindpharma.in/wsfaapi/api' // PROD\r\n // apiOrigin: 'https://testwsfa.mankindpharma.in/testapi/api' // Dev \r\n // apiOrigin: 'https://sfa3.mankindpharma.in/Itap_QA/api' // QA ITAP Temp\r\n \r\n};\r\n\r\n\r\n\r\n/* ng build --configuration production --output-hashing=all\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)\r\n },\r\n {\r\n path: 'user-registration',\r\n loadChildren: () => import('./user-journey/user-journey.module').then(m => m.UserJourneyModule)\r\n },\r\n {\r\n path: 'phase2',\r\n loadChildren: () => import('./phase2/phase2.module').then(m => m.Phase2Module)\r\n },\r\n {\r\n path: 'admin-dashboard',\r\n loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule)\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { useHash: true })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","
\r\n
\r\n
","import { Component, OnInit,ViewEncapsulation } from '@angular/core';\r\nimport { LoaderService } from '../services/loader.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-spinner',\r\n templateUrl: './spinner.component.html',\r\n styleUrls: ['./spinner.component.scss'],\r\n encapsulation: ViewEncapsulation.ShadowDom\r\n})\r\nexport class SpinnerComponent implements OnInit {\r\n\r\n constructor(public loader: LoaderService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n \r\n}","\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n constructor(private snackBar: MatSnackBar) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(req).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMessage;\r\n if (error.error instanceof ErrorEvent) {\r\n errorMessage = \"Network error: Please check your internet connection.\";\r\n } else {\r\n switch (error.status) {\r\n case 0:\r\n errorMessage = \"Network error: Unable to connect to the server.\";\r\n break;\r\n case 400:\r\n errorMessage = \"Bad request. Please verify your input.\";\r\n break;\r\n case 401:\r\n errorMessage = \"Unauthorized access. Please log in.\";\r\n break;\r\n case 403:\r\n errorMessage = \"Access forbidden. You don’t have permission to access this resource.\";\r\n break;\r\n case 404:\r\n errorMessage = \"Resource not found. Please check the URL.\";\r\n break;\r\n case 500:\r\n errorMessage = \"Server error. Please try again later.\";\r\n break;\r\n default:\r\n if (error.error && error.error.Message) {\r\n errorMessage = error.error.Message;\r\n }\r\n }\r\n }\r\n this.snackBar.open(errorMessage, '', { duration: 3000, panelClass: ['custom-snackbar'] });\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { SpinnerComponent } from './spinner/spinner.component';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LoadingInterceptor } from './loading.interceptor';\r\nimport { Phase2Module } from './phase2/phase2.module';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { AdminFilterTrnComponent } from './admin/admin-filter-trn/admin-filter-trn.component';\r\nimport { MatDialogComponent } from './shared-components/mat-dialog/mat-dialog.component';\r\nimport { FileUploadComponent } from './shared-components/file-upload/file-upload.component';\r\nimport { HrFileUploadComponent } from './shared-components/hr-file-upload/hr-file-upload.component';\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ErrorInterceptor } from './services/interceptor/error.interceptor';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { TimeoutInterceptor } from './timeout.interceptor';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SpinnerComponent,\r\n MatDialogComponent,\r\n \r\n // HrErrorLogComponent,\r\n // HrToSfComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n MatSnackBarModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n PdfViewerModule,\r\n MatDialogModule,\r\n MatButtonModule\r\n \r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS, useClass: LoadingInterceptor, multi: true\r\n },\r\n { \r\n provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true \r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS, useClass: TimeoutInterceptor, multi: true\r\n },\r\n DatePipe,\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"x_google_ignoreList":[]}