UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

178 lines 9.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { Injectable, Inject } from '@angular/core'; import { NB_DOCUMENT } from '../theme.options'; /* * Service to control the global page spinner. */ var NbSpinnerService = /** @class */ (function () { function NbSpinnerService(document) { this.document = document; this.loaders = []; this.selector = 'nb-global-spinner'; } /* * Appends new loader to the list of loader to be completed before * spinner will be hidden * @param method Promise<any> */ /* * Appends new loader to the list of loader to be completed before * spinner will be hidden * @param method Promise<any> */ /** * @param {?} method * @return {?} */ NbSpinnerService.prototype.registerLoader = /* * Appends new loader to the list of loader to be completed before * spinner will be hidden * @param method Promise<any> */ /** * @param {?} method * @return {?} */ function (method) { this.loaders.push(method); }; /* * Clears the list of loader */ /* * Clears the list of loader */ /** * @return {?} */ NbSpinnerService.prototype.clear = /* * Clears the list of loader */ /** * @return {?} */ function () { this.loaders = []; }; /* * Start the loader process, show spinnder and execute loaders */ /* * Start the loader process, show spinnder and execute loaders */ /** * @return {?} */ NbSpinnerService.prototype.load = /* * Start the loader process, show spinnder and execute loaders */ /** * @return {?} */ function () { this.showSpinner(); this.executeAll(); }; /** * @private * @param {?=} done * @return {?} */ NbSpinnerService.prototype.executeAll = /** * @private * @param {?=} done * @return {?} */ 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? // TODO is there any better way of doing this? /** * @private * @return {?} */ NbSpinnerService.prototype.showSpinner = // TODO is there any better way of doing this? /** * @private * @return {?} */ function () { /** @type {?} */ var el = this.getSpinnerElement(); if (el) { el.style['display'] = 'block'; } }; /** * @private * @return {?} */ NbSpinnerService.prototype.hideSpinner = /** * @private * @return {?} */ function () { /** @type {?} */ var el = this.getSpinnerElement(); if (el) { el.style['display'] = 'none'; } }; /** * @private * @return {?} */ NbSpinnerService.prototype.getSpinnerElement = /** * @private * @return {?} */ function () { return this.document.getElementById(this.selector); }; NbSpinnerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ NbSpinnerService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [NB_DOCUMENT,] }] } ]; }; return NbSpinnerService; }()); export { NbSpinnerService }; if (false) { /** * @type {?} * @private */ NbSpinnerService.prototype.loaders; /** * @type {?} * @private */ NbSpinnerService.prototype.selector; /** * @type {?} * @private */ NbSpinnerService.prototype.document; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGhlbWUtbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3NwaW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFLQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLL0M7SUFNRSwwQkFBeUMsUUFBUTtRQUFSLGFBQVEsR0FBUixRQUFRLENBQUE7UUFIekMsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFXLG1CQUFtQixDQUFDO0lBRUssQ0FBQztJQUVyRDs7OztPQUlHOzs7Ozs7Ozs7O0lBQ0gseUNBQWM7Ozs7Ozs7OztJQUFkLFVBQWUsTUFBb0I7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHOzs7Ozs7O0lBQ0gsZ0NBQUs7Ozs7OztJQUFMO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHOzs7Ozs7O0lBQ0gsK0JBQUk7Ozs7OztJQUFKO1FBQ0UsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7Ozs7SUFFTyxxQ0FBVTs7Ozs7SUFBbEIsVUFBbUIsSUFBZTtRQUFsQyxpQkFTQztRQVRrQixxQkFBQSxFQUFBLHFCQUFjLENBQUM7UUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBTTtZQUNwQyxLQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO2FBQ0MsS0FBSyxDQUFDLFVBQUMsS0FBSztZQUNYLHVCQUF1QjtZQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELDhDQUE4Qzs7Ozs7O0lBQ3RDLHNDQUFXOzs7Ozs7SUFBbkI7O1lBQ1EsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUNuQyxJQUFJLEVBQUUsRUFBRTtZQUNOLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7Ozs7SUFFTyxzQ0FBVzs7OztJQUFuQjs7WUFDUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ25DLElBQUksRUFBRSxFQUFFO1lBQ04sRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7OztJQUVPLDRDQUFpQjs7OztJQUF6QjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7O2dCQTVERixVQUFVOzs7O2dEQU1JLE1BQU0sU0FBQyxXQUFXOztJQXVEakMsdUJBQUM7Q0FBQSxBQTdERCxJQTZEQztTQTVEWSxnQkFBZ0I7Ozs7OztJQUUzQixtQ0FBcUM7Ozs7O0lBQ3JDLG9DQUErQzs7Ozs7SUFFbkMsb0NBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IEFrdmVvLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5CX0RPQ1VNRU5UIH0gZnJvbSAnLi4vdGhlbWUub3B0aW9ucyc7XHJcblxyXG4vKlxyXG4gKiBTZXJ2aWNlIHRvIGNvbnRyb2wgdGhlIGdsb2JhbCBwYWdlIHNwaW5uZXIuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOYlNwaW5uZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBsb2FkZXJzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG4gIHByaXZhdGUgc2VsZWN0b3I6IHN0cmluZyA9ICduYi1nbG9iYWwtc3Bpbm5lcic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkJfRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQpIHt9XHJcblxyXG4gIC8qXHJcbiAgICogQXBwZW5kcyBuZXcgbG9hZGVyIHRvIHRoZSBsaXN0IG9mIGxvYWRlciB0byBiZSBjb21wbGV0ZWQgYmVmb3JlXHJcbiAgICogc3Bpbm5lciB3aWxsIGJlIGhpZGRlblxyXG4gICAqIEBwYXJhbSBtZXRob2QgUHJvbWlzZTxhbnk+XHJcbiAgICovXHJcbiAgcmVnaXN0ZXJMb2FkZXIobWV0aG9kOiBQcm9taXNlPGFueT4pOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGVycy5wdXNoKG1ldGhvZCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIENsZWFycyB0aGUgbGlzdCBvZiBsb2FkZXJcclxuICAgKi9cclxuICBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGVycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBTdGFydCB0aGUgbG9hZGVyIHByb2Nlc3MsIHNob3cgc3Bpbm5kZXIgYW5kIGV4ZWN1dGUgbG9hZGVyc1xyXG4gICAqL1xyXG4gIGxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTcGlubmVyKCk7XHJcbiAgICB0aGlzLmV4ZWN1dGVBbGwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhlY3V0ZUFsbChkb25lID0gKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIFByb21pc2UuYWxsKHRoaXMubG9hZGVycykudGhlbigodmFsdWVzKSA9PiB7XHJcbiAgICAgIHRoaXMuaGlkZVNwaW5uZXIoKTtcclxuICAgICAgZG9uZS5jYWxsKG51bGwsIHZhbHVlcyk7XHJcbiAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgLy8gVE9ETzogUHJvbWlzZS5yZWplY3RcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBUT0RPIGlzIHRoZXJlIGFueSBiZXR0ZXIgd2F5IG9mIGRvaW5nIHRoaXM/XHJcbiAgcHJpdmF0ZSBzaG93U3Bpbm5lcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5nZXRTcGlubmVyRWxlbWVudCgpO1xyXG4gICAgaWYgKGVsKSB7XHJcbiAgICAgIGVsLnN0eWxlWydkaXNwbGF5J10gPSAnYmxvY2snO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoaWRlU3Bpbm5lcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5nZXRTcGlubmVyRWxlbWVudCgpO1xyXG4gICAgaWYgKGVsKSB7XHJcbiAgICAgIGVsLnN0eWxlWydkaXNwbGF5J10gPSAnbm9uZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNwaW5uZXJFbGVtZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zZWxlY3Rvcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==