| Total Complexity | 5 |
| Complexity/F | 1 |
| Lines of Code | 27 |
| Function Count | 5 |
| Duplicated Lines | 0 |
| Ratio | 0 % |
| Coverage | 100% |
| Changes | 0 | ||
| 1 | import { createAction, handleActions } from 'redux-actions'; |
||
| 2 | import { resetShortUrlParams } from '../../short-urls/reducers/shortUrlsListParams'; |
||
| 3 | |||
| 4 | /* eslint-disable padding-line-between-statements */ |
||
| 5 | 1 | export const SELECT_SERVER = 'shlink/selectedServer/SELECT_SERVER'; |
|
| 6 | 1 | export const RESET_SELECTED_SERVER = 'shlink/selectedServer/RESET_SELECTED_SERVER'; |
|
| 7 | /* eslint-enable padding-line-between-statements */ |
||
| 8 | |||
| 9 | 1 | const initialState = null; |
|
| 10 | |||
| 11 | 1 | export const resetSelectedServer = createAction(RESET_SELECTED_SERVER); |
|
| 12 | |||
| 13 | 2 | export const selectServer = ({ findServerById }) => (serverId) => (dispatch) => { |
|
| 14 | 2 | dispatch(resetShortUrlParams()); |
|
| 15 | |||
| 16 | 2 | const selectedServer = findServerById(serverId); |
|
| 17 | |||
| 18 | 2 | dispatch({ |
|
| 19 | type: SELECT_SERVER, |
||
| 20 | selectedServer, |
||
| 21 | }); |
||
| 22 | }; |
||
| 23 | |||
| 24 | export default handleActions({ |
||
| 25 | 1 | [RESET_SELECTED_SERVER]: () => initialState, |
|
| 26 | 1 | [SELECT_SERVER]: (state, { selectedServer }) => selectedServer, |
|
| 27 | }, initialState); |
||
| 28 |