cfc-ds
Version:
Design System do Conselho Federal de Contabilidade baseado no govbr-ds
28 lines • 3.77 kB
JavaScript
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export class LoadingService {
isLoading$ = new BehaviorSubject({ isLoading: false, isFullScreen: false });
loadingStack = [];
show(isFullScreen = false) {
this.loadingStack.push({ isLoading: true, isFullScreen });
this.updateLoadingState();
}
hide() {
this.loadingStack.pop();
this.updateLoadingState();
}
updateLoadingState() {
const currentState = this.loadingStack[this.loadingStack.length - 1] || { isLoading: false, isFullScreen: false };
this.isLoading$.next(currentState);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, providedIn: 'root' });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoadingService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2ZjLWRzL3NyYy9saWIvc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFVdkMsTUFBTSxPQUFPLGNBQWM7SUFFekIsVUFBVSxHQUFHLElBQUksZUFBZSxDQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVsRixZQUFZLEdBQW1CLEVBQUUsQ0FBQztJQUUxQyxJQUFJLENBQUMsZUFBd0IsS0FBSztRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDbEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQzt3R0FuQlUsY0FBYzs0R0FBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW50ZXJmYWNlIExvYWRpbmdTdGF0ZSB7XHJcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xyXG4gIGlzRnVsbFNjcmVlbjogYm9vbGVhbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRpbmdTZXJ2aWNlIHtcclxuXHJcbiAgaXNMb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9hZGluZ1N0YXRlPih7IGlzTG9hZGluZzogZmFsc2UsIGlzRnVsbFNjcmVlbjogZmFsc2UgfSk7XHJcblxyXG4gIHByaXZhdGUgbG9hZGluZ1N0YWNrOiBMb2FkaW5nU3RhdGVbXSA9IFtdO1xyXG5cclxuICBzaG93KGlzRnVsbFNjcmVlbjogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmdTdGFjay5wdXNoKHsgaXNMb2FkaW5nOiB0cnVlLCBpc0Z1bGxTY3JlZW4gfSk7XHJcbiAgICB0aGlzLnVwZGF0ZUxvYWRpbmdTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgaGlkZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZ1N0YWNrLnBvcCgpO1xyXG4gICAgdGhpcy51cGRhdGVMb2FkaW5nU3RhdGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlTG9hZGluZ1N0YXRlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5sb2FkaW5nU3RhY2tbdGhpcy5sb2FkaW5nU3RhY2subGVuZ3RoIC0gMV0gfHwgeyBpc0xvYWRpbmc6IGZhbHNlLCBpc0Z1bGxTY3JlZW46IGZhbHNlIH07XHJcbiAgICB0aGlzLmlzTG9hZGluZyQubmV4dChjdXJyZW50U3RhdGUpO1xyXG4gIH1cclxufVxyXG4iXX0=