aboutsummaryrefslogtreecommitdiffstats
path: root/app/javascript/vehicle_journeys/reducers/pagination.js
blob: 45c40c4c488e2f8fa86e5241d0507bb9e9a74c64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import _ from 'lodash'

export default function pagination(state = {}, action) {
  switch (action.type) {
    case 'RECEIVE_JOURNEY_PATTERNS':
    case 'RECEIVE_VEHICLE_JOURNEYS':
      return _.assign({}, state, {stateChanged: false})
    case 'GO_TO_PREVIOUS_PAGE':
      if (action.pagination.page > 1){
        return _.assign({}, state, {page : action.pagination.page - 1, stateChanged: false})
      }
      return state
    case 'GO_TO_NEXT_PAGE':
      if (state.totalCount - (action.pagination.page * action.pagination.perPage) > 0){
        return _.assign({}, state, {page : action.pagination.page + 1, stateChanged: false})
      }
      return state
    case 'ADD_VEHICLEJOURNEY':
    case 'UPDATE_TIME':
      toggleOnConfirmModal('modal')
      return _.assign({}, state, {stateChanged: true})
    case 'RESET_PAGINATION':
      return _.assign({}, state, {page: 1, stateChanged: false})
    case 'RECEIVE_TOTAL_COUNT':
      return _.assign({}, state, {totalCount: action.total})
    case 'UPDATE_TOTAL_COUNT':
      return _.assign({}, state, {totalCount : state.totalCount - action.diff })
    default:
      return state
  }
}

const toggleOnConfirmModal = (arg = '') =>{
  $('.confirm').each(function(){
    $(this).data('toggle','')
  })
}