UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

49 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const FrequenciesActions = require("../../frequencies/actions"); exports.frequenciesDataInitialState = { regions: {}, serviceCentres: {}, frequencies: {}, autoAllocationGlobal: false, }; exports.frequenciesDataReducer = (state = exports.frequenciesDataInitialState, action) => { switch (action.type) { case FrequenciesActions.SET_FREQUENCIES_DATA: { return setFrequencies(state, action); } case FrequenciesActions.SET_AUTO_ALLOCATION_GLOBAL: { return setAutoAllocationGlobal(state, action); } case FrequenciesActions.SET_FREQUENCY_AUTO_IS_ON: { return setFrequencyAutoIsOn(state, action); } default: { return state; } } }; const setFrequencies = (state, action) => { const regions = action.regions; const serviceCentres = action.serviceCentres; const frequencies = action.frequencies; const autoAllocationGlobal = action.autoAllocationGlobal; return Object.assign({}, state, { regions, serviceCentres, frequencies, autoAllocationGlobal }); }; const setAutoAllocationGlobal = (state, action) => { const autoAllocationGlobal = action.autoAllocationGlobal; return Object.assign({}, state, { autoAllocationGlobal }); }; //This is fired after we post a change to the server for setting the autoIsOn and recieve a success response. const setFrequencyAutoIsOn = (state, action) => { let frequencies = Object.assign({}, state.frequencies); if (state.frequencies[action.label]) { frequencies = Object.assign({}, frequencies, { [action.label]: Object.assign({}, state.frequencies[action.label], { autoIsOn: action.autoIsOn }) }); } //This is the auto or manual counterpart for the frequency that was set in label. if (state.frequencies[action.counterpartLabel]) { frequencies = Object.assign({}, frequencies, { [action.counterpartLabel]: Object.assign({}, state.frequencies[action.counterpartLabel], { autoIsOn: action.autoIsOn }) }); } return Object.assign({}, state, { frequencies }); }; //# sourceMappingURL=data.js.map