lml-main
Version:
This is now a mono repository published into many standalone packages.
66 lines • 2.52 kB
JavaScript
;
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