ngx-gem-spaas
Version:
This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.
52 lines • 6.5 kB
JavaScript
import { BehaviorSubject } from 'rxjs';
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class PreloaderService {
constructor() {
this.preloaderMsgs = [];
this.preloaderMsgs$ = new BehaviorSubject([]);
}
// ********************************************************************************************************
// SAVE DATA
// ********************************************************************************************************
/**
* Activates the preloader overlay ("<spaas-preloader>" to be added to your app.component.html).
*
* @param preloaderMsg will be added to the list of messages, to be shown as feedback to the user.
*/
start(preloaderMsg) {
this.preloaderMsgs.push(preloaderMsg);
this.newPreloaderMsg();
}
/**
* Removes the "preloaderMsg" from the list of preloader messages.
*
* @param preloaderMsg message to be removed from the list. If the "preloaderMsg" was the last one on the list,
* the preloader overlay will be hidden.
*/
stop(preloaderMsg) {
this.preloaderMsgs = this.preloaderMsgs.filter((l) => l !== preloaderMsg);
this.newPreloaderMsg();
}
// ********************************************************************************************************
// BROADCAST DATA
// ********************************************************************************************************
newPreloaderMsg() {
this.preloaderMsgs$.next(this.preloaderMsgs);
}
onNewPreloaderMsg() {
return this.preloaderMsgs$.asObservable();
}
getPreloaderMsgs() {
return JSON.parse(JSON.stringify(this.preloaderMsgs$.getValue()));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreloaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreloaderService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreloaderService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ2VtLXNwYWFzL3NyYy9fc2VydmljZXMvcHJlbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUt6QyxNQUFNLE9BQU8sZ0JBQWdCO0lBSDdCO1FBS1Usa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0IsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztLQTJDNUQ7SUF6Q0MsMkdBQTJHO0lBQzNHLFlBQVk7SUFDWiwyR0FBMkc7SUFFM0c7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLFlBQW9CO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELDJHQUEyRztJQUMzRyxpQkFBaUI7SUFDakIsMkdBQTJHO0lBRW5HLGVBQWU7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7K0dBNUNVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByZWxvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHByZWxvYWRlck1zZ3M6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBwcmVsb2FkZXJNc2dzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcclxuXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAvLyBTQVZFIERBVEFcclxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmF0ZXMgdGhlIHByZWxvYWRlciBvdmVybGF5IChcIjxzcGFhcy1wcmVsb2FkZXI+XCIgdG8gYmUgYWRkZWQgdG8geW91ciBhcHAuY29tcG9uZW50Lmh0bWwpLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHByZWxvYWRlck1zZyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBsaXN0IG9mIG1lc3NhZ2VzLCB0byBiZSBzaG93biBhcyBmZWVkYmFjayB0byB0aGUgdXNlci5cclxuICAgKi9cclxuICBzdGFydChwcmVsb2FkZXJNc2c6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmVsb2FkZXJNc2dzLnB1c2gocHJlbG9hZGVyTXNnKTtcclxuICAgIHRoaXMubmV3UHJlbG9hZGVyTXNnKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIHRoZSBcInByZWxvYWRlck1zZ1wiIGZyb20gdGhlIGxpc3Qgb2YgcHJlbG9hZGVyIG1lc3NhZ2VzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHByZWxvYWRlck1zZyBtZXNzYWdlIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgbGlzdC4gSWYgdGhlIFwicHJlbG9hZGVyTXNnXCIgd2FzIHRoZSBsYXN0IG9uZSBvbiB0aGUgbGlzdCxcclxuICAgKiB0aGUgcHJlbG9hZGVyIG92ZXJsYXkgd2lsbCBiZSBoaWRkZW4uXHJcbiAgICovXHJcbiAgc3RvcChwcmVsb2FkZXJNc2c6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmVsb2FkZXJNc2dzID0gdGhpcy5wcmVsb2FkZXJNc2dzLmZpbHRlcigobCkgPT4gbCAhPT0gcHJlbG9hZGVyTXNnKTtcclxuICAgIHRoaXMubmV3UHJlbG9hZGVyTXNnKCk7XHJcbiAgfVxyXG5cclxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gIC8vIEJST0FEQ0FTVCBEQVRBXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgcHJpdmF0ZSBuZXdQcmVsb2FkZXJNc2coKSB7XHJcbiAgICB0aGlzLnByZWxvYWRlck1zZ3MkLm5leHQodGhpcy5wcmVsb2FkZXJNc2dzKTtcclxuICB9XHJcblxyXG4gIG9uTmV3UHJlbG9hZGVyTXNnKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnByZWxvYWRlck1zZ3MkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJlbG9hZGVyTXNncygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnByZWxvYWRlck1zZ3MkLmdldFZhbHVlKCkpKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==