fabric8-planner
Version:
A planner front-end for Fabric8.
52 lines • 1.79 kB
JavaScript
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 * as WorkItemLinkActions from './../actions/work-item-link.actions';
import { initialState } from './../states/work-item-link.state';
export var WorkItemLinkReducer = function (state, action) {
if (state === void 0) { state = initialState; }
switch (action.type) {
case WorkItemLinkActions.GET_SUCCESS: {
return action.payload;
}
case WorkItemLinkActions.GET_ERROR: {
return state;
}
case WorkItemLinkActions.ADD_SUCCESS: {
return [action.payload].concat(state);
}
case WorkItemLinkActions.ADD_ERROR: {
return state.slice();
}
case WorkItemLinkActions.DELETE_SUCCESS: {
var linkIndex = state.findIndex(function (l) { return l.id === action.payload.id; });
if (linkIndex > -1) {
state.splice(linkIndex, 1);
}
return state.slice();
}
case WorkItemLinkActions.DELETE_ERROR: {
return state.slice();
}
case WorkItemLinkActions.RESET_LINKS: {
return null;
}
case WorkItemLinkActions.TRIVIALIZE_ALL: {
if (state) {
return state.map(function (s) { return s.newlyAdded ? __assign({}, s, { newlyAdded: false }) : s; });
}
else {
return null;
}
}
default: {
return state;
}
}
};
//# sourceMappingURL=work-item-link.reducer.js.map