@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
1 lines • 6.9 kB
Source Map (JSON)
{"version":3,"file":"c8y-ngx-components-pending-mo-request.mjs","sources":["../../pending-mo-request/pending-mo-request-interceptor.ts","../../pending-mo-request/pending-mo-request.service.ts","../../pending-mo-request/pending-mo-request.module.ts","../../pending-mo-request/c8y-ngx-components-pending-mo-request.ts"],"sourcesContent":["import { Injector } from '@angular/core';\nimport { IFetchResponse } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { AlertService } from '@c8y/ngx-components';\nimport { ApiCall, HttpHandler, HttpInterceptor } from '@c8y/ngx-components/api';\nimport { NEVER, Observable, combineLatest } from 'rxjs';\nimport { timeout, catchError, share, map, startWith, take } from 'rxjs/operators';\n\nexport class PendingMoRequestInterceptor implements HttpInterceptor {\n constructor(private injector: Injector) {}\n\n intercept(req: ApiCall, next: HttpHandler): Observable<IFetchResponse> {\n const alertService = this.injector.get(AlertService);\n\n const timeoutValue = 5_000;\n if (/inventory\\/managedObjects/.test(req.url)) {\n const response$ = next.handle(req).pipe(share());\n const timeout$ = response$.pipe(\n timeout({ first: timeoutValue }),\n catchError(error => {\n if (error.name === 'TimeoutError') {\n alertService.add({\n type: 'system',\n text: gettext(\n 'The request is taking longer than usual. We apologize for the inconvenience.'\n ),\n timeout: 10000\n });\n }\n return NEVER;\n }),\n startWith('')\n );\n return combineLatest([response$, timeout$]).pipe(\n map(([response]) => response),\n take(1)\n );\n } else {\n return next.handle(req);\n }\n }\n}\n","import { DestroyRef, Injectable, Injector } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { AlertService } from '@c8y/ngx-components';\nimport { PendingMoRequestInterceptor } from './pending-mo-request-interceptor';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PendingMoRequestService {\n constructor(\n private injector: Injector,\n private apiService: ApiService,\n private alertService: AlertService,\n private destroyRef: DestroyRef\n ) {}\n\n setupHooks() {\n this.apiService.addInterceptor(new PendingMoRequestInterceptor(this.injector));\n\n /* Backend will return 202 when a request takes more than 30 seconds to complete\n * and will continue the execution in the background. So the user will be able to navigate away.\n */\n this.apiService\n .hookResponse(\n call =>\n call.method === 'DELETE' &&\n /inventory\\/managedObjects/.test(call.url) &&\n call.response.status === 202\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.alertService.add({\n type: 'system',\n text: gettext(\n 'The managed object is deleted in the background. Continue with using the platform as normal.'\n ),\n timeout: 10000\n });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PendingMoRequestService } from './pending-mo-request.service';\n\n@NgModule({\n imports: [CommonModule],\n providers: [PendingMoRequestService]\n})\nexport class PendingMoRequestModule {\n constructor(private pendingMoRequestService: PendingMoRequestService) {\n this.pendingMoRequestService.setupHooks();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PendingMoRequestService"],"mappings":"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"}