PaymentsTable: new store methods
This commit is contained in:
parent
431f41edcd
commit
18bff9cd11
@ -4,6 +4,11 @@ import { makeAutoObservable, observable } from 'mobx';
|
||||
import type RootStore from 'stores/root';
|
||||
import Validation from '../validation';
|
||||
|
||||
type Row = {
|
||||
value: number;
|
||||
status: Status;
|
||||
};
|
||||
|
||||
export default class PaymentsTable {
|
||||
root: RootStore;
|
||||
validation: Validation;
|
||||
@ -22,23 +27,36 @@ export default class PaymentsTable {
|
||||
return this.values[index];
|
||||
}
|
||||
|
||||
setValues = (values: number[]) => {
|
||||
this.values.replace(values);
|
||||
};
|
||||
|
||||
setValue = (index: number, value: number) => {
|
||||
this.values[index] = value;
|
||||
};
|
||||
|
||||
private setValues = (values: number[]) => {
|
||||
this.values.replace(values);
|
||||
};
|
||||
|
||||
getStatus(index: number) {
|
||||
return this.statuses[index];
|
||||
}
|
||||
|
||||
setStatuses = (statuses: Status[]) => {
|
||||
this.statuses.replace(statuses);
|
||||
};
|
||||
|
||||
setStatus = (index: number, status: Status) => {
|
||||
this.statuses[index] = status;
|
||||
};
|
||||
|
||||
private setStatuses = (statuses: Status[]) => {
|
||||
this.statuses.replace(statuses);
|
||||
};
|
||||
|
||||
setRow = (index: number, row: Row) => {
|
||||
this.setValue(index, row.value);
|
||||
this.setStatus(index, row.status);
|
||||
};
|
||||
|
||||
setRows = (rows: Row[]) => {
|
||||
const values = rows.map((row) => row.value);
|
||||
const statuses = rows.map((row) => row.status);
|
||||
|
||||
this.setValues(values);
|
||||
this.setStatuses(statuses);
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user