UNPKG

fabric8-planner

Version:
64 lines 3.33 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 } from '@ngrx/effects'; import { Observable } from 'rxjs'; import { catchError, map, switchMap } from 'rxjs/operators'; import { BoardMapper } from '../models/board.model'; import { normalizeArray } from '../models/common.model'; import { SpaceQuery } from '../models/space'; import { BoardService } from '../services/board.service'; import * as BoardActions from './../actions/board.actions'; import { ErrorHandler, filterTypeWithSpace } from './work-item-utils'; var BoardEffects = /** @class */ (function () { function BoardEffects(actions$, boardService, errhandler, spaceQuery) { var _this = this; this.actions$ = actions$; this.boardService = boardService; this.errhandler = errhandler; this.spaceQuery = spaceQuery; this.getBoards = this.actions$ .pipe(filterTypeWithSpace(BoardActions.GET, this.spaceQuery.getCurrentSpace), switchMap(function (_a) { var action = _a[0], space = _a[1]; var spaceTemplateUrl = space.relationships['space-template'].links.related; return _this.boardService.getBoardApiUrl(spaceTemplateUrl); }), switchMap(function (url) { return _this.boardService.getBoards(url) .pipe(map(function (boards) { var boardmapper = new BoardMapper(); var included = normalizeArray(boards.included); return boards.data.map(function (board) { board.relationships.columns.data = board.relationships.columns.data.map(function (col) { return included[col.id]; }); return boardmapper.toUIModel(board); }); }), map(function (boards) { return new BoardActions.GetSuccess(normalizeArray(boards, 'context')); }), catchError((function (err) { return _this.errhandler.handleError(err, 'Problem in loading Boards', new BoardActions.GetError()); }))); })); } BoardEffects.decorators = [ { type: Injectable }, ]; /** @nocollapse */ BoardEffects.ctorParameters = function () { return [ { type: Actions, }, { type: BoardService, }, { type: ErrorHandler, }, { type: SpaceQuery, }, ]; }; __decorate([ Effect(), __metadata("design:type", Observable) ], BoardEffects.prototype, "getBoards", void 0); return BoardEffects; }()); export { BoardEffects }; //# sourceMappingURL=board.effect.js.map