UNPKG

lml-main

Version:

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

84 lines 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const FrequenciesActions = require("../../frequencies/actions"); exports.frequenciesPendingInitialState = { pendingFrequencies: {}, pendingFrequenciesAutoOn: {}, selectedServiceCentreCode: null, }; exports.frequenciesPendingReducer = (state = exports.frequenciesPendingInitialState, action) => { switch (action.type) { case FrequenciesActions.SET_PENDING_FREQUENCIES: { return setPendingFrequencies(state, action); } case FrequenciesActions.SET_PENDING_FREQUENCY_AUTO_ON_BATCH: { return setPendingFrequencyAutoOnBatch(state, action); } case FrequenciesActions.SET_PENDING_SERVICE_CENTRE_CODE: { return setPendingServiceCentreCode(state, action); } case FrequenciesActions.SET_PENDING_FREQUENCY_SELECTED: { return setPendingFrequencySelected(state, action); } case FrequenciesActions.SET_PENDING_FREQUENCY_AUTO_ON: { return setPendingFrequencyAutoOn(state, action); } case FrequenciesActions.SET_ALL_PENDING_FREQUENCIES_IN_SERVICE_CENTRE_SELECTED: { return setAllPendingFrequenciesInServiceCentreSelected(state, action); } default: { return state; } } }; const setPendingFrequencies = (state, action) => { const pendingFrequencies = action.frequencies; return Object.assign({}, state, { pendingFrequencies }); }; const setPendingFrequencyAutoOnBatch = (state, action) => { const pendingFrequenciesAutoOn = action.frequencies; return Object.assign({}, state, { pendingFrequenciesAutoOn }); }; const setPendingServiceCentreCode = (state, action) => { const selectedServiceCentreCode = action.code; return Object.assign({}, state, { selectedServiceCentreCode }); }; const setPendingFrequencySelected = (state, action) => { let pendingFrequencies; if (!action.selected) { // shallow coppy the selected frequencies and then delete the key from the copy pendingFrequencies = Object.assign({}, state.pendingFrequencies); if (action.frequency) delete pendingFrequencies[action.frequency]; if (action.counterpart) delete pendingFrequencies[action.counterpart]; } else { pendingFrequencies = Object.assign({}, state.pendingFrequencies, { [action.frequency]: true }); if (action.counterpart) { pendingFrequencies = Object.assign({}, pendingFrequencies, { [action.counterpart]: true }); } } return Object.assign({}, state, { pendingFrequencies }); }; const setAllPendingFrequenciesInServiceCentreSelected = (state, action) => { let pendingFrequencies = Object.assign({}, state.pendingFrequencies); if (state.selectedServiceCentreCode == null) { return state; } for (let frequency of action.frequencies) { if (action.selected) { pendingFrequencies = Object.assign({}, pendingFrequencies, { [frequency.label]: true }); } else { delete pendingFrequencies[frequency.label]; } } return Object.assign({}, state, { pendingFrequencies }); }; const setPendingFrequencyAutoOn = (state, action) => { let pendingFrequenciesAutoOn; pendingFrequenciesAutoOn = Object.assign({}, state.pendingFrequenciesAutoOn, { [action.frequency]: action.autoIsOn }); return Object.assign({}, state, { pendingFrequenciesAutoOn }); }; //# sourceMappingURL=pending.js.map