UNPKG

kipon-xrmservice

Version:

Dynamics 365 CE web api wrapper for angular, making life easier when building angular based web resources

49 lines 5.46 kB
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; export class XrmStateService { constructor() { this.runnings = []; this._running = false; this._success = 0; this._error = 0; this.statechanged$ = new BehaviorSubject(false); } statechanged() { return this.statechanged$; } /** * @deprecated You should subscribe to statechanged() instead of targeting this property directly */ get running() { return this._running; } ; get success() { return this._success; } ; get error() { return this._error; } ; add(x) { this.runnings.push(x); this._running = true; } remove(x, error) { let pos = this.runnings.indexOf(x); this.runnings.splice(pos, 1); var current = this._running; this._running = this.runnings.length > 0; if (current != this._running) { this.statechanged$.next(this._running); } if (error) { this._error++; } else { this._success++; } } } XrmStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); XrmStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmStateService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmStateService, decorators: [{ type: Injectable }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHJtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpcG9uLXhybXNlcnZpY2Uvc3JjL2xpYi94cm1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGVBQWU7SUFHMUI7UUFRUSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVExQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBR3JCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFwQnpCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFPRDs7T0FFRztJQUNILElBQVcsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRzlDLElBQVcsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRzlDLElBQVcsS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRWxDLEdBQUcsQ0FBQyxDQUFTO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxNQUFNLENBQUMsQ0FBUyxFQUFFLEtBQWM7UUFDdEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFekMsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEM7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNmO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDOzs0R0FqRFUsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgWHJtU3RhdGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0YXRlY2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnN0YXRlY2hhbmdlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0ZWNoYW5nZWQoKTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlY2hhbmdlZCQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJ1bm5pbmdzID0gW107XHJcblxyXG4gIHByaXZhdGUgX3J1bm5pbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIFlvdSBzaG91bGQgc3Vic2NyaWJlIHRvIHN0YXRlY2hhbmdlZCgpIGluc3RlYWQgb2YgdGFyZ2V0aW5nIHRoaXMgcHJvcGVydHkgZGlyZWN0bHlcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IHJ1bm5pbmcoKSB7IHJldHVybiB0aGlzLl9ydW5uaW5nIH07XHJcblxyXG4gIHByaXZhdGUgX3N1Y2Nlc3M6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGdldCBzdWNjZXNzKCkgeyByZXR1cm4gdGhpcy5fc3VjY2VzcyB9O1xyXG5cclxuICBwcml2YXRlIF9lcnJvcjogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgZ2V0IGVycm9yKCkgeyByZXR1cm4gdGhpcy5fZXJyb3IgfTtcclxuXHJcbiAgcHJpdmF0ZSBhZGQoeDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnJ1bm5pbmdzLnB1c2goeCk7XHJcbiAgICB0aGlzLl9ydW5uaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlKHg6IG51bWJlciwgZXJyb3I6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBwb3MgPSB0aGlzLnJ1bm5pbmdzLmluZGV4T2YoeCk7XHJcbiAgICB0aGlzLnJ1bm5pbmdzLnNwbGljZShwb3MsIDEpO1xyXG5cclxuICAgIHZhciBjdXJyZW50ID0gdGhpcy5fcnVubmluZztcclxuXHJcbiAgICB0aGlzLl9ydW5uaW5nID0gdGhpcy5ydW5uaW5ncy5sZW5ndGggPiAwO1xyXG5cclxuICAgIGlmIChjdXJyZW50ICE9IHRoaXMuX3J1bm5pbmcpIHtcclxuICAgICAgdGhpcy5zdGF0ZWNoYW5nZWQkLm5leHQodGhpcy5fcnVubmluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuX2Vycm9yKys7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zdWNjZXNzKys7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==