export const defaultState = []; export default function items(state = defaultState, action) { switch (action.type) { case 'ADD_ITEM': { // Add object to items array const newState = [...state, { id: action.id, choiceId: action.choiceId, groupId: action.groupId, value: action.value, label: action.label, active: true, highlighted: false, customProperties: action.customProperties, placeholder: (action.placeholder || false), keyCode: null, }]; return newState.map((obj) => { const item = obj; item.highlighted = false; return item; }); } case 'REMOVE_ITEM': { // Set item to inactive return state.map((obj) => { const item = obj; if (item.id === action.id) { item.active = false; } return item; }); } case 'HIGHLIGHT_ITEM': { return state.map((obj) => { const item = obj; if (item.id === action.id) { item.highlighted = action.highlighted; } return item; }); } default: { return state; } } }