This repository has been archived on 2025-05-09. You can view files and clone it, but cannot push or open issues or pull requests.
2021-04-23 09:49:12 +03:00

68 lines
1.8 KiB
JavaScript

import initialFilters from 'client/stores/CalculationStore/config/initialFilters';
import initialOptions from 'client/stores/CalculationStore/config/initialOptions';
import initialStatuses from 'client/stores/CalculationStore/config/initialStatuses';
import initialValues from 'client/stores/CalculationStore/config/initialValues';
import { merge } from 'lodash';
const valuesData = {
values: initialValues,
statuses: initialStatuses,
validations: {},
options: initialOptions,
filters: initialFilters,
};
const valuesActions = {
getValue(sourceValueName) {
return this.values[sourceValueName];
},
setValue(sourceValueName, newValue) {
this.values[sourceValueName] = newValue;
},
setValues(values) {
this.values = values;
},
getStatus(elementName) {
if (this.stores.calculationProcess.bypass.status) {
const { target, value } = this.stores.calculationProcess.bypass.status;
if (target.indexOf(elementName) > -1) {
return value;
}
}
return this.statuses[elementName];
},
setStatus(elementName, status) {
this.statuses[elementName] = status;
},
getValidation(elementName) {
return this.validations[elementName];
},
setValidation(elementName, validation) {
this.validations[elementName] = validation;
},
getOptions(elementName) {
return this.options[elementName];
},
setOptions(elementName, options) {
this.options[elementName] = options;
},
applyOptions(options) {
this.options = merge(this.options, options);
},
getFilter(elementName) {
return this.filters[elementName];
},
setFilter(elementName, filters) {
this.filters[elementName] = filters;
},
// applyFilters(filters) {
// this.filters = { ...this.filters, ...filters };
// },
};
export default Object.assign(valuesData, valuesActions);