ngx-mat-lib
Version:
A bunch of utilities and components to use in your Angular 7+ apps!
57 lines (56 loc) • 4.05 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from "@angular/core";
import { Subject } from "rxjs";
var XmatGlobalSpinnerService = /** @class */ (function () {
function XmatGlobalSpinnerService() {
this._requests = 0;
this._spinnerSubj = new Subject();
// Here to avoid "used before declaration error"
this.spinnerState = this._spinnerSubj.asObservable();
}
/**
* @return {?}
*/
XmatGlobalSpinnerService.prototype.show = /**
* @return {?}
*/
function () {
this._requests++;
this._spinnerSubj.next(/** @type {?} */ ({ show: true }));
};
/**
* @return {?}
*/
XmatGlobalSpinnerService.prototype.hide = /**
* @return {?}
*/
function () {
if (this._requests > 0) {
this._requests--;
}
if (this._requests < 1) {
// Really necessary?
this._requests = 0;
this._spinnerSubj.next(/** @type {?} */ ({ show: false }));
}
};
XmatGlobalSpinnerService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
XmatGlobalSpinnerService.ctorParameters = function () { return []; };
return XmatGlobalSpinnerService;
}());
export { XmatGlobalSpinnerService };
if (false) {
/** @type {?} */
XmatGlobalSpinnerService.prototype.spinnerState;
/** @type {?} */
XmatGlobalSpinnerService.prototype._requests;
/** @type {?} */
XmatGlobalSpinnerService.prototype._spinnerSubj;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC1nbG9iYWwtc3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdC1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy94bWF0LWdsb2JhbC1zcGlubmVyL3htYXQtZ2xvYmFsLXNwaW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsT0FBTyxFQUFhLE1BQU0sTUFBTSxDQUFDOztJQVVyQzt5QkFIb0IsQ0FBQzs0QkFDeUIsSUFBSSxPQUFPLEVBQWdCOztRQUlyRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDeEQ7Ozs7SUFFRCx1Q0FBSTs7O0lBQUo7UUFDSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLG1CQUFlLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxFQUFDLENBQUM7S0FDdEQ7Ozs7SUFFRCx1Q0FBSTs7O0lBQUo7UUFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwQjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUU7O1lBRXBCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxtQkFBZSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsRUFBQyxDQUFDO1NBQ3ZEO0tBQ0o7O2dCQTNCSixVQUFVOzs7O21DQUpYOztTQUthLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7U3Bpbm5lclN0YXRlfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3htYXQtc3Bpbm5lci1zdGF0ZS5tb2RlbFwiO1xuaW1wb3J0IHtTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWG1hdEdsb2JhbFNwaW5uZXJTZXJ2aWNlIHtcblxuICAgIHNwaW5uZXJTdGF0ZTogT2JzZXJ2YWJsZTxTcGlubmVyU3RhdGU+O1xuXG4gICAgcHJpdmF0ZSBfcmVxdWVzdHMgPSAwO1xuICAgIHByaXZhdGUgX3NwaW5uZXJTdWJqOiBTdWJqZWN0PFNwaW5uZXJTdGF0ZT4gPSBuZXcgU3ViamVjdDxTcGlubmVyU3RhdGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8gSGVyZSB0byBhdm9pZCBcInVzZWQgYmVmb3JlIGRlY2xhcmF0aW9uIGVycm9yXCJcbiAgICAgICAgdGhpcy5zcGlubmVyU3RhdGUgPSB0aGlzLl9zcGlubmVyU3Viai5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzaG93KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXF1ZXN0cysrO1xuICAgICAgICB0aGlzLl9zcGlubmVyU3Viai5uZXh0KDxTcGlubmVyU3RhdGU+e3Nob3c6IHRydWV9KTtcbiAgICB9XG5cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWVzdHMgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1ZXN0cy0tO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9yZXF1ZXN0cyA8IDEpIHtcbiAgICAgICAgICAgIC8vIFJlYWxseSBuZWNlc3Nhcnk/XG4gICAgICAgICAgICB0aGlzLl9yZXF1ZXN0cyA9IDA7XG4gICAgICAgICAgICB0aGlzLl9zcGlubmVyU3Viai5uZXh0KDxTcGlubmVyU3RhdGU+e3Nob3c6IGZhbHNlfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=