28 lines
891 B
TypeScript
28 lines
891 B
TypeScript
/* eslint-disable import/no-cycle */
|
|
import type { Elements } from 'Components/Calculation/config/map/values';
|
|
import type RootStore from 'stores/root';
|
|
import OptionsStore from './options';
|
|
import StatusStore from './statuses';
|
|
import ValidationStore from './validation';
|
|
import ValuesStore from './values';
|
|
|
|
export default class CalculationStore {
|
|
$values: ValuesStore;
|
|
$status: StatusStore;
|
|
$options: OptionsStore;
|
|
$validation: ValidationStore;
|
|
|
|
constructor(rootStore: RootStore) {
|
|
this.$values = new ValuesStore(rootStore);
|
|
this.$status = new StatusStore(rootStore);
|
|
this.$options = new OptionsStore(rootStore);
|
|
this.$validation = new ValidationStore(rootStore);
|
|
}
|
|
|
|
resetElement = (elementName: Elements) => {
|
|
this.$values.resetElementValue(elementName);
|
|
this.$options.resetOption(elementName);
|
|
this.$validation.clearErrors(elementName);
|
|
};
|
|
}
|