UNPKG

@ngx-loading-bar/http

Version:

Automatic page loading / progress bar for Angular

117 lines (111 loc) 4.02 kB
import { __extends, __spread } from 'tslib'; import { LoadingBarService, LoadingBarModule } from '@ngx-loading-bar/core'; import { Injectable, NgModule } from '@angular/core'; import { ConnectionBackend, Http, RequestOptions, HttpModule, XHRBackend } from '@angular/http'; import { finalize } from 'rxjs/operators'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var LoadingBarHttp = /** @class */ (function (_super) { __extends(LoadingBarHttp, _super); function LoadingBarHttp(_backend, _defaultOptions, loadingBar) { var _this = _super.call(this, _backend, _defaultOptions) || this; _this.loadingBar = loadingBar; return _this; } /** * @param {?} url * @param {?=} options * @return {?} */ LoadingBarHttp.prototype.request = /** * @param {?} url * @param {?=} options * @return {?} */ function (url, options) { var _this = this; /** @type {?} */ var headers = options && options.headers; if (!headers && url && ((/** @type {?} */ (url))).headers) { headers = ((/** @type {?} */ (url))).headers; } if (headers && headers.has('ignoreLoadingBar')) { headers.delete('ignoreLoadingBar'); return _super.prototype.request.call(this, url, options); } /** @type {?} */ var response$ = _super.prototype.request.call(this, url, options); if (options && options.ignoreLoadingBar === true) { return response$; } /** @type {?} */ var started = false; /** @type {?} */ var responseSubscribe = response$.subscribe.bind(response$); response$.subscribe = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } _this.loadingBar.start(); started = true; return responseSubscribe.apply(void 0, __spread(args)); }; return response$.pipe(finalize(function () { return started && _this.loadingBar.complete(); })); }; LoadingBarHttp.decorators = [ { type: Injectable } ]; /** @nocollapse */ LoadingBarHttp.ctorParameters = function () { return [ { type: ConnectionBackend }, { type: RequestOptions }, { type: LoadingBarService } ]; }; return LoadingBarHttp; }(Http)); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} xhrBackend * @param {?} requestOptions * @param {?} loadingBarService * @return {?} */ function httpFactory(xhrBackend, requestOptions, loadingBarService) { return new LoadingBarHttp(xhrBackend, requestOptions, loadingBarService); } var LoadingBarHttpModule = /** @class */ (function () { function LoadingBarHttpModule() { } LoadingBarHttpModule.decorators = [ { type: NgModule, args: [{ imports: [ HttpModule, LoadingBarModule, ], exports: [ HttpModule, LoadingBarModule, ], providers: [ { provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions, LoadingBarService] }, ], },] } ]; return LoadingBarHttpModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { LoadingBarHttpModule, LoadingBarHttp, httpFactory as ɵa }; //# sourceMappingURL=ngx-loading-bar-http.js.map