@anexia/ngx-loading-tools
Version:
This library provides a toolset for common loading state management, by providing hackable Loading Strategies and a Http Interceptor.
15 lines • 2.15 kB
JavaScript
import { BehaviorSubject } from 'rxjs';
import { distinctUntilChanged, shareReplay } from 'rxjs/operators';
export class LoadingHandler {
constructor() {
this._loadingState = new BehaviorSubject(false);
this.isLoading$ = this._loadingState.asObservable().pipe(distinctUntilChanged(), shareReplay(1));
}
start(request) {
this._loadingState.next(true);
}
stop(request) {
this._loadingState.next(false);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxvYWRpbmctdG9vbHMvc3JjL2xpYi9zdHJhdGVnaWVzL2xvYWRpbmctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNVLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsZUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFTckcsQ0FBQztJQVBRLEtBQUssQ0FBQyxPQUFZO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBWTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2FkaW5nSGFuZGxlclN0cmF0ZWd5fSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9sb2FkaW5nLWhhbmRsZXItc3RyYXRlZ3lcIjtcblxuZXhwb3J0IGNsYXNzIExvYWRpbmdIYW5kbGVyIGltcGxlbWVudHMgTG9hZGluZ0hhbmRsZXJTdHJhdGVneSB7XG4gIHByaXZhdGUgX2xvYWRpbmdTdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgaXNMb2FkaW5nJCA9IHRoaXMuX2xvYWRpbmdTdGF0ZS5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBwdWJsaWMgc3RhcnQocmVxdWVzdDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbG9hZGluZ1N0YXRlLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc3RvcChyZXF1ZXN0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkaW5nU3RhdGUubmV4dChmYWxzZSk7XG4gIH1cbn1cbiJdfQ==