UNPKG

fabric8-planner

Version:
94 lines 5.2 kB
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; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Injectable } from '@angular/core'; import { Actions, Effect, ofType } from '@ngrx/effects'; import { Observable } from 'rxjs'; import * as IterationActions from '.././actions/iteration.actions'; import { IterationService } from '.././services/iteration.service'; import { IterationMapper } from '../models/iteration.model'; import { catchError, map, switchMap } from 'rxjs/operators'; import { cleanObject, normalizeArray } from '../models/common.model'; import { SpaceQuery } from '../models/space'; import { ErrorHandler, filterTypeWithSpace } from './work-item-utils'; var IterationEffects = /** @class */ (function () { function IterationEffects(actions$, iterationService, spaceQuery, errHandler) { var _this = this; this.actions$ = actions$; this.iterationService = iterationService; this.spaceQuery = spaceQuery; this.errHandler = errHandler; this.getIterations$ = this.actions$ .pipe(filterTypeWithSpace(IterationActions.GET, this.spaceQuery.getCurrentSpace), switchMap(function (_a) { var action = _a[0], space = _a[1]; return _this.iterationService.getIterations(space.relationships.iterations.links.related) .pipe(map(function (iterations) { var itMapper = new IterationMapper(); return iterations.map(function (it) { return itMapper.toUIModel(it); }); }), map(function (iterations) { return (new IterationActions.GetSuccess(normalizeArray(iterations))); }), catchError(function (err) { return _this.errHandler.handleError(err, 'Problem in Fetching Iterations', new IterationActions.GetError()); })); })); this.addIteration$ = this.actions$ .pipe(filterTypeWithSpace(IterationActions.ADD, this.spaceQuery.getCurrentSpace), switchMap(function (_a) { var action = _a[0], space = _a[1]; var itMapper = new IterationMapper(); var iteration = itMapper.toServiceModel(action.payload.iteration); cleanObject(iteration, ['id']); var url = action.payload.parent ? action.payload.parent.link : space.relationships.iterations.links.related; return _this.iterationService.createIteration(url, iteration) .pipe(map(function (iteration) { return itMapper.toUIModel(iteration); }), map(function (iteration) { return new IterationActions.AddSuccess({ iteration: iteration, parent: action.payload.parent ? action.payload.parent : null }); }), catchError(function (err) { return _this.errHandler.handleError(err, 'Problem in adding Iterations', new IterationActions.AddError()); })); })); this.updateIteration$ = this.actions$ .pipe(ofType(IterationActions.UPDATE), switchMap(function (action) { var itMapper = new IterationMapper(); var iteration = itMapper.toServiceModel(action.payload); return _this.iterationService.updateIteration(iteration) .pipe(map(function (iteration) { return itMapper.toUIModel(iteration); }), map(function (iteration) { return [ new IterationActions.UpdateSuccess(iteration) ]; }), switchMap(function (res) { return res; }), catchError(function (err) { return _this.errHandler.handleError(err, "There was some problem updating the iteration.", new IterationActions.UpdateError()); })); })); } IterationEffects.decorators = [ { type: Injectable }, ]; /** @nocollapse */ IterationEffects.ctorParameters = function () { return [ { type: Actions, }, { type: IterationService, }, { type: SpaceQuery, }, { type: ErrorHandler, }, ]; }; __decorate([ Effect(), __metadata("design:type", Observable) ], IterationEffects.prototype, "getIterations$", void 0); __decorate([ Effect(), __metadata("design:type", Observable) ], IterationEffects.prototype, "addIteration$", void 0); __decorate([ Effect(), __metadata("design:type", Observable) ], IterationEffects.prototype, "updateIteration$", void 0); return IterationEffects; }()); export { IterationEffects }; //# sourceMappingURL=iteration.effects.js.map