UNPKG

fabric8-planner

Version:
93 lines 3.73 kB
var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; import { cloneDeep } from 'lodash'; import * as IterationActions from '.././actions/iteration.actions'; import { initialState, initialUIState } from './../states/iteration.state'; export var iterationReducer = function (state, action) { if (state === void 0) { state = initialState; } switch (action.type) { case IterationActions.GET_SUCCESS: return action.payload; case IterationActions.ADD_SUCCESS: var parent_1 = action.payload.parent; var newIterationId = action.payload.iteration.id; if (parent_1) { state[parent_1.id].hasChildren = true; } state[newIterationId] = action.payload.iteration; return __assign({}, state); case IterationActions.UPDATE_SUCCESS: var updatedIterationid = action.payload.id; if (state[updatedIterationid]) { action.payload.selected = state[updatedIterationid].selected; } state[updatedIterationid] = action.payload; return __assign({}, state); case IterationActions.SELECT: if (state[action.payload]) { for (var id in state) { state[id].selected = id === action.payload; state[id].showChildren = false; } var pId = state[action.payload].parentId; // Backend sends the pId for root iteration '00000000-0000-0000-0000-000000000000' // removing pId !== '00000000-0000-0000-0000-000000000000' causes the while loop to go in // infinite loop while (pId && pId !== '00000000-0000-0000-0000-000000000000') { var pIndex = pId; if (state[pId]) { state[pId].showChildren = true; pId = state[pIndex].parentId; } } } else { for (var i in state) { state[i].selected = false; state[i].showChildren = false; } } return __assign({}, state); // This is important for change detection case IterationActions.GET_ERROR: return state; case IterationActions.ADD_ERROR: return state; case IterationActions.UPDATE_ERROR: return state; default: return state; } }; export var iterationUiReducer = function (s, action) { if (s === void 0) { s = initialUIState; } var state = cloneDeep(s); switch (action.type) { case IterationActions.UPDATE_SUCCESS: case IterationActions.ADD_SUCCESS: state.error = ''; state.modalLoading = false; return state; case IterationActions.UPDATE: case IterationActions.ADD: state.error = ''; state.modalLoading = true; return state; case IterationActions.ADD_ERROR: state.modalLoading = false; state.error = 'Some error has occured on adding iteration'; return state; case IterationActions.UPDATE_ERROR: state.modalLoading = false; state.error = 'Some error has occured on updating iteration'; return state; default: return state; } }; //# sourceMappingURL=iteration-reducer.js.map