about summary refs log tree commit diff
path: root/app/assets/javascripts/components/reducers/timelines.jsx
blob: 2e0f70c24a40942d8402e755a779c147f9912767 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { TIMELINE_SET, TIMELINE_UPDATE } from '../actions/timelines';
import Immutable                         from 'immutable';

const initialState = Immutable.Map();

export default function timelines(state = initialState, action) {
  switch(action.type) {
    case TIMELINE_SET:
      return state.set(action.timeline, Immutable.fromJS(action.statuses));
    case TIMELINE_UPDATE:
      return state.update(action.timeline, function (list) {
        return list.unshift(Immutable.fromJS(action.status));
      });
    default:
      return state;
  }
}