UNPKG

ems-web-app-loader

Version:

The embedded angular.io component and service expose an interface for rendering a modal overlay and loader animation during server transactions.

30 lines 3.5 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import { LoaderType } from "./loader.classes"; import * as i0 from "@angular/core"; export class LoaderService { constructor() { this.type = LoaderType.Spinner; this.loader = new BehaviorSubject({ type: LoaderType.Spinner, render: false }); this.loader$ = this.loader.asObservable(); } load(render, type = LoaderType.Spinner) { this.type = type; this.loader.next({ render, type }); } show() { this.load(true, this.type); } hide() { this.load(false, this.type); } } LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2xvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QixlQUFlLEVBQWtCLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7O0FBSzlELE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBS1UsU0FBSSxHQUFlLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDdEMsV0FBTSxHQUFtQyxJQUFJLGVBQWUsQ0FBaUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzSCxZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWM3QztJQVpRLElBQUksQ0FBQyxNQUFlLEVBQUUsT0FBbUIsVUFBVSxDQUFDLE9BQU87UUFDaEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzswR0FqQlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIEJlaGF2aW9yU3ViamVjdCwgdGhyb3dFcnJvciwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvYWRlclR5cGUsIElMb2FkZXJSZXF1ZXN0IH0gZnJvbSBcIi4vbG9hZGVyLmNsYXNzZXNcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyU2VydmljZSB7XG5cbiAgcHJpdmF0ZSB0eXBlOiBMb2FkZXJUeXBlID0gTG9hZGVyVHlwZS5TcGlubmVyO1xuICBwcml2YXRlIGxvYWRlcjpCZWhhdmlvclN1YmplY3Q8SUxvYWRlclJlcXVlc3Q+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJTG9hZGVyUmVxdWVzdD4oeyB0eXBlOiBMb2FkZXJUeXBlLlNwaW5uZXIsIHJlbmRlcjogZmFsc2UgfSk7XG4gIHB1YmxpYyBsb2FkZXIkID0gdGhpcy5sb2FkZXIuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGxvYWQocmVuZGVyOiBib29sZWFuLCB0eXBlOiBMb2FkZXJUeXBlID0gTG9hZGVyVHlwZS5TcGlubmVyKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmxvYWRlci5uZXh0KHsgcmVuZGVyLCB0eXBlfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvdygpIHtcbiAgICB0aGlzLmxvYWQodHJ1ZSwgdGhpcy50eXBlKTtcbiAgfSBcblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICB0aGlzLmxvYWQoZmFsc2UsIHRoaXMudHlwZSk7XG4gIH1cbn1cbiJdfQ==