UNPKG

@akveo/nga-theme

Version:
62 lines 2.44 kB
/** * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { Injectable } from '@angular/core'; var NgaSpinnerService = (function () { function NgaSpinnerService() { this.loaders = []; this.selector = 'nga-global-spinner'; } NgaSpinnerService.prototype.registerLoader = function (method) { this.loaders.push(method); }; NgaSpinnerService.prototype.clear = function () { this.loaders = []; }; NgaSpinnerService.prototype.load = function () { this.showSpinner(); this.executeAll(); }; NgaSpinnerService.prototype.executeAll = function (done) { var _this = this; if (done === void 0) { done = function () { }; } Promise.all(this.loaders).then(function (values) { _this.hideSpinner(); done.call(null, values); }) .catch(function (error) { // TODO: Promise.reject console.error(error); }); }; // TODO is there any better way of doing this? NgaSpinnerService.prototype.showSpinner = function () { var el = this.getSpinnerElement(); if (el) { el.style['display'] = 'block'; } }; NgaSpinnerService.prototype.hideSpinner = function () { var el = this.getSpinnerElement(); if (el) { el.style['display'] = 'none'; } }; NgaSpinnerService.prototype.getSpinnerElement = function () { return document.getElementById(this.selector); }; return NgaSpinnerService; }()); NgaSpinnerService = __decorate([ Injectable() ], NgaSpinnerService); export { NgaSpinnerService }; //# sourceMappingURL=spinner.service.js.map