@ngx-loading-bar/http-client
Version:
Automatic page loading / progress bar for Angular
32 lines • 3.98 kB
text/javascript; charset=utf-8
import { __decorate, __metadata } from "tslib";
import { LoadingBarService } from '@ngx-loading-bar/core';
import { Injectable } from '@angular/core';
import { finalize, tap } from 'rxjs/operators';
let LoadingBarInterceptor = class LoadingBarInterceptor {
constructor(loader) {
this.loader = loader;
}
intercept(req, next) {
// https://github.com/angular/angular/issues/18155
if (req.headers.has('ignoreLoadingBar')) {
return next.handle(req.clone({ headers: req.headers.delete('ignoreLoadingBar') }));
}
let started = false;
const ref = this.loader.useRef('http');
return next.handle(req).pipe(tap(() => {
if (!started) {
ref.start();
started = true;
}
}), finalize(() => started && ref.complete()));
}
};
LoadingBarInterceptor.ctorParameters = () => [
{ type: LoadingBarService }
];
LoadingBarInterceptor = __decorate([
Injectable(),
__metadata("design:paramtypes", [LoadingBarService])
], LoadingBarInterceptor);
export { LoadingBarInterceptor };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1iYXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LWxvYWRpbmctYmFyL2h0dHAtY2xpZW50LyIsInNvdXJjZXMiOlsibG9hZGluZy1iYXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvQyxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUNoQyxZQUFvQixNQUF5QjtRQUF6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUFHLENBQUM7SUFFakQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsa0RBQWtEO1FBQ2xELElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BGO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWixPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDMUMsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBOztZQXBCNkIsaUJBQWlCOztBQURsQyxxQkFBcUI7SUFEakMsVUFBVSxFQUFFO3FDQUVpQixpQkFBaUI7R0FEbEMscUJBQXFCLENBcUJqQztTQXJCWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkaW5nQmFyU2VydmljZSB9IGZyb20gJ0BuZ3gtbG9hZGluZy1iYXIvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvYWRpbmdCYXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9hZGVyOiBMb2FkaW5nQmFyU2VydmljZSkge31cblxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xODE1NVxuICAgIGlmIChyZXEuaGVhZGVycy5oYXMoJ2lnbm9yZUxvYWRpbmdCYXInKSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcS5jbG9uZSh7IGhlYWRlcnM6IHJlcS5oZWFkZXJzLmRlbGV0ZSgnaWdub3JlTG9hZGluZ0JhcicpIH0pKTtcbiAgICB9XG5cbiAgICBsZXQgc3RhcnRlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMubG9hZGVyLnVzZVJlZignaHR0cCcpO1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXN0YXJ0ZWQpIHtcbiAgICAgICAgICByZWYuc3RhcnQoKTtcbiAgICAgICAgICBzdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiBzdGFydGVkICYmIHJlZi5jb21wbGV0ZSgpKSxcbiAgICApO1xuICB9XG59XG4iXX0=