34 lines
967 B
TypeScript
34 lines
967 B
TypeScript
import assignProperties from 'client/tools/assignProps';
|
|
import initialStatuses from 'core/config/initialStatuses';
|
|
import initialValues from 'core/config/initialValues';
|
|
import { Status } from 'core/types/elements';
|
|
import { ValuesNames } from 'core/types/values';
|
|
import { observable } from 'mobx';
|
|
import computedEffects from './Effects/computed';
|
|
|
|
const CalculationStore = observable(
|
|
assignProperties(
|
|
{
|
|
values: initialValues,
|
|
statuses: initialStatuses,
|
|
|
|
getValue(sourceValueName: ValuesNames) {
|
|
return this.values[sourceValueName];
|
|
},
|
|
getStatus(elementName: string) {
|
|
return this.statuses[elementName];
|
|
},
|
|
|
|
setValue(sourceValueName: ValuesNames, newValue: any) {
|
|
this.values[sourceValueName] = newValue;
|
|
},
|
|
setStatus(elementName: string, status: Status) {
|
|
this.statuses[elementName] = status;
|
|
}
|
|
},
|
|
computedEffects
|
|
)
|
|
);
|
|
|
|
export default CalculationStore;
|