UNPKG

ng-block-ui

Version:
1 lines 6.64 kB
{"version":3,"file":"ng-block-ui-http.mjs","sources":["../../http/block-ui-http-settings.service.ts","../../http/block-ui-http.interceptor.ts","../../http/block-ui-http.module.ts","../../http/ng-block-ui-http.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpSettings } from 'ng-block-ui';\n\n@Injectable()\nexport class BlockUIHttpSettings {\n settings: HttpSettings = {};\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { BlockUIService, BLOCKUI_DEFAULT } from 'ng-block-ui';\nimport { BlockUIHttpSettings } from './block-ui-http-settings.service';\n\n@Injectable()\nexport class BlockUIInterceptor implements HttpInterceptor {\n private activeHttpRequests: number;\n\n constructor(\n private blockUIService: BlockUIService,\n private blockUIHttpSettings: BlockUIHttpSettings\n ) {\n this.activeHttpRequests = 0;\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n let active: boolean = false;\n\n if (this.shouldBlock(request)) {\n this.blockUIService.start(BLOCKUI_DEFAULT);\n }\n\n return next.handle(request)\n .pipe(\n finalize(() => {\n if (this.shouldBlock(request)) {\n const { blockAllRequestsInProgress } = this.blockUIHttpSettings.settings;\n const method: string = blockAllRequestsInProgress ? 'stop' : 'reset';\n this.blockUIService[method](BLOCKUI_DEFAULT);\n }\n })\n );\n }\n\n shouldBlock(request: HttpRequest<any>): boolean {\n const { method, urlWithParams } = request;\n const { settings } = this.blockUIHttpSettings;\n const requestFilters = settings.requestFilters || [];\n\n return !requestFilters.some((f: any) => {\n if (f && f.method && f.url) {\n return f.method.toUpperCase() === method && f.url.test(urlWithParams);\n } else if (typeof f === 'function') {\n return f(request);\n }\n\n return f.test(urlWithParams);\n });\n }\n}\n","import { NgModule, ModuleWithProviders, InjectionToken } from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { BlockUIModule, HttpSettings } from 'ng-block-ui';\nimport { BlockUIHttpSettings } from './block-ui-http-settings.service';\nimport { BlockUIInterceptor } from './block-ui-http.interceptor';\n\n\n// Needed for AOT compiling\nexport const BlockUIHttpModuleSettings = new InjectionToken<string>('BlockUIHttpModuleSettings');\n\nexport function provideSettingsInstance(settings: HttpSettings): BlockUIHttpSettings {\n return {\n settings: {\n blockAllRequestsInProgress: true,\n ...settings\n }\n };\n}\n\n@NgModule({\n imports: [BlockUIModule]\n})\nexport class BlockUIHttpModule {\n static forRoot(settings: HttpSettings = {}): ModuleWithProviders<BlockUIHttpModule> {\n return {\n ngModule: BlockUIHttpModule,\n providers: [\n {\n provide: BlockUIHttpModuleSettings,\n useValue: settings\n },\n {\n provide: BlockUIHttpSettings,\n useFactory: provideSettingsInstance,\n deps: [BlockUIHttpModuleSettings]\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: BlockUIInterceptor,\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.BlockUIHttpSettings"],"mappings":"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"}