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);