diff --git a/apps/web/stores/tables/payments/index.ts b/apps/web/stores/tables/payments/index.ts index e7877b8..bddc221 100644 --- a/apps/web/stores/tables/payments/index.ts +++ b/apps/web/stores/tables/payments/index.ts @@ -2,7 +2,7 @@ import Validation from '../../validation'; import type { ValidationParams } from '../../validation/types'; import type { Row } from './types'; import type RootStore from '@/stores/root'; -import type { IObservableArray } from 'mobx'; +import type { IObservableArray, IObservableValue } from 'mobx'; import { makeAutoObservable, observable, reaction } from 'mobx'; import type { Status } from 'ui/elements/types'; @@ -11,7 +11,7 @@ export default class PaymentsTable { public validation: Validation; public values: IObservableArray; private statuses: IObservableArray; - private overridedStatuses: IObservableArray; + private overridedStatus: IObservableValue; constructor(rootStore: RootStore) { this.validation = new Validation({ @@ -21,7 +21,7 @@ export default class PaymentsTable { this.values = observable([]); this.statuses = observable([]); - this.overridedStatuses = observable([]); + this.overridedStatus = observable.box(undefined); makeAutoObservable(this); this.root = rootStore; @@ -50,7 +50,7 @@ export default class PaymentsTable { }; public getStatus(index: number) { - return this.overridedStatuses?.length ? this.overridedStatuses?.[index] : this.statuses[index]; + return this.overridedStatus.get() ?? this.statuses[index]; } public setStatus = (index: number, status: Status) => { @@ -58,13 +58,11 @@ export default class PaymentsTable { }; public overrideStatuses = (status: Status) => { - for (let index = 0; index < this.statuses.length; index++) { - this.overridedStatuses[index] = status; - } + this.overridedStatus.set(status); }; public clearOverridedStatuses = () => { - this.overridedStatuses?.clear(); + this.overridedStatus.set(undefined); }; public setStatuses = (statuses: Status[]) => {