@noilda/ng-loader
Version:
Loaders library
35 lines • 4.9 kB
JavaScript
import { Injectable, RendererFactory2 } from '@angular/core';
import * as i0 from "@angular/core";
export class LoaderService {
constructor(rendererFactory) {
this.renderer = rendererFactory.createRenderer(null, null);
this.loaderEl = this.renderer.selectRootElement('.ld', true);
this.loaderTxt = this.renderer.selectRootElement('.ld__txt', true);
}
/**
* @param {boolean} loaderShow hide or show loader
* @param {string|number} txt text or message to be displayed while showing the loader
*/
showLoader(loaderShow = true, txt = `Loading...`) {
this.renderer.setProperty(this.loaderTxt, 'innerHTML', txt);
if (loaderShow) {
this.renderer.setStyle(this.loaderEl, 'display', 'init');
this.renderer.removeClass(this.loaderEl, 'ld__fade-out');
}
else {
this.renderer.addClass(this.loaderEl, 'ld__fade--out');
setTimeout(() => {
this.renderer.setStyle(this.loaderEl, 'display', 'none');
}, 800);
}
}
}
LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LoaderService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LoaderService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: LoaderService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL2xvYWRlci9zcmMvbGliL2xvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSXhFLE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQVksZUFBaUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxhQUFzQixJQUFJLEVBQUUsTUFBdUIsWUFBWTtRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1RCxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDMUQ7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDdkQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7OzBHQTFCVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXIhOiBSZW5kZXJlcjI7XG4gIHByaXZhdGUgbG9hZGVyRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGxvYWRlclR4dDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICB0aGlzLmxvYWRlckVsID0gdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCgnLmxkJywgdHJ1ZSk7XG4gICAgdGhpcy5sb2FkZXJUeHQgPSB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KCcubGRfX3R4dCcsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gbG9hZGVyU2hvdyBoaWRlIG9yIHNob3cgbG9hZGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gdHh0ICB0ZXh0IG9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIHdoaWxlIHNob3dpbmcgdGhlIGxvYWRlclxuICAgKi9cbiAgc2hvd0xvYWRlcihsb2FkZXJTaG93OiBib29sZWFuID0gdHJ1ZSwgdHh0OiBzdHJpbmcgfCBudW1iZXIgPSBgTG9hZGluZy4uLmApIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMubG9hZGVyVHh0LCAnaW5uZXJIVE1MJywgdHh0KTtcbiAgICBpZiAobG9hZGVyU2hvdykge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmxvYWRlckVsLCAnZGlzcGxheScsICdpbml0Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubG9hZGVyRWwsICdsZF9fZmFkZS1vdXQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmxvYWRlckVsLCAnbGRfX2ZhZGUtLW91dCcpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5sb2FkZXJFbCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgfSwgODAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==