theme-lib
Version:
This is a simple example Angular Library published to npm.
178 lines • 9.1 kB
JavaScript
/**
* @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==