UNPKG

lml-main

Version:

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

66 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var Actions = require("../actions"); var lodash_1 = require("lodash"); exports.initialJobLabelsState = { regions: {}, serviceCentres: {}, jobLabels: {}, }; exports.jobLabelApiReducer = function (state, action) { if (state === void 0) { state = exports.initialJobLabelsState; } switch (action.type) { case Actions.SET_JOB_LABELS_BATCH: { return setJobLabelsBatch(state, action); } case Actions.SET_JOB_LABEL_AUTO: { return setJobLabelAuto(state, action); } case Actions.SET_JOB_LABEL: { return setJobLabel(state, action); } case Actions.REMOVE_JOB_LABEL: { return removeJobLabel(state, action); } default: { return state; } } }; var setJobLabelsBatch = function (state, action) { var regions = action.regions; var serviceCentres = action.serviceCentres; var jobLabels = action.jobLabels; return tslib_1.__assign({}, state, { regions: regions, serviceCentres: serviceCentres, jobLabels: jobLabels }); }; //This is fired after we post a change to the server for setting the autoIsOn and recieve a success response. var setJobLabelAuto = function (state, action) { var jobLabels = tslib_1.__assign({}, state.jobLabels); // if (state.jobLabels[action.label]) { // jobLabels = { // ...jobLabels, // [action.label]: { // ...state.jobLabels[action.label], // autoIsOn: action.autoIsOn, // }, // } // } // //This is the auto or manual counterpart for the jobLabel that was set in label. // if (state.jobLabels[action.counterpartLabel]) { // jobLabels = { // ...jobLabels, // [action.counterpartLabel]: { // ...state.jobLabels[action.counterpartLabel], // autoIsOn: action.autoIsOn, // }, // } // } return tslib_1.__assign({}, state); }; var setJobLabel = function (state, action) { return (tslib_1.__assign({}, state, { jobLabels: tslib_1.__assign({}, state.jobLabels, (_a = {}, _a[action.jobLabel.label] = action.jobLabel, _a)) })); var _a; }; var removeJobLabel = function (state, action) { return (tslib_1.__assign({}, state, { jobLabels: lodash_1.omit(state.jobLabels, action.jobLabel.label) })); }; //# sourceMappingURL=data.js.map