2022-05-08 20:55:05 +03:00

33 lines
882 B
TypeScript

/* eslint-disable object-curly-newline */
/* eslint-disable import/no-cycle */
import type { Elements } from 'Components/Calculation/types/elements';
import { makeAutoObservable } from 'mobx';
import RootStore from 'stores/root';
import type { CalculationStatuses, Status } from './types';
export default class StatusStore {
root: RootStore;
#statuses: CalculationStatuses = {};
constructor(rootStore: RootStore) {
makeAutoObservable(this);
this.root = rootStore;
}
hydrate = (initialStatuses: CalculationStatuses) => {
this.#statuses = initialStatuses;
};
getStatus(elementName: Elements) {
return this.#statuses[elementName];
}
setStatus(elementName: Elements, status: Status) {
this.#statuses[elementName] = status;
}
setStatuses(statuses: CalculationStatuses) {
this.#statuses = Object.assign(this.#statuses, statuses);
}
}