stores/tables: fix payments override status

This commit is contained in:
vchikalkin 2023-03-14 15:10:30 +03:00
parent 1f2983a7ec
commit 9fd2ee7d66

View File

@ -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<number>;
private statuses: IObservableArray<Status>;
private overridedStatuses: IObservableArray<Status>;
private overridedStatus: IObservableValue<Status | undefined>;
constructor(rootStore: RootStore) {
this.validation = new Validation({
@ -21,7 +21,7 @@ export default class PaymentsTable {
this.values = observable<number>([]);
this.statuses = observable<Status>([]);
this.overridedStatuses = observable<Status>([]);
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[]) => {