Improve movement deletion
This commit is contained in:
parent
11d140826d
commit
9fe90c3527
@ -89,7 +89,15 @@ export function AccountRoute(): React.ReactElement {
|
|||||||
ready={movements !== undefined}
|
ready={movements !== undefined}
|
||||||
errMsg="Failed to load the list of movements!"
|
errMsg="Failed to load the list of movements!"
|
||||||
build={() => (
|
build={() => (
|
||||||
<MovementsTable needReload={reload} movements={movements!} />
|
<MovementsTable
|
||||||
|
needReload={reload}
|
||||||
|
movements={movements!}
|
||||||
|
onDeleteMovement={(del) => {
|
||||||
|
setMovements((movements) => {
|
||||||
|
return movements?.filter((m) => m.id !== del.id);
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -102,6 +110,7 @@ export function AccountRoute(): React.ReactElement {
|
|||||||
function MovementsTable(p: {
|
function MovementsTable(p: {
|
||||||
movements: Movement[];
|
movements: Movement[];
|
||||||
needReload: (skipMovements: boolean) => void;
|
needReload: (skipMovements: boolean) => void;
|
||||||
|
onDeleteMovement: (movement: Movement) => void;
|
||||||
}): React.ReactElement {
|
}): React.ReactElement {
|
||||||
const accounts = useAccounts();
|
const accounts = useAccounts();
|
||||||
const alert = useAlert();
|
const alert = useAlert();
|
||||||
@ -162,7 +171,7 @@ function MovementsTable(p: {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Detach movement from account
|
// Detach file from movement
|
||||||
const handleDetachFile = async (movement: Movement) => {
|
const handleDetachFile = async (movement: Movement) => {
|
||||||
try {
|
try {
|
||||||
if (
|
if (
|
||||||
@ -193,10 +202,9 @@ function MovementsTable(p: {
|
|||||||
|
|
||||||
await MovementApi.Delete(movement);
|
await MovementApi.Delete(movement);
|
||||||
|
|
||||||
const id = p.movements.findIndex((m) => movement.id === m.id);
|
p.onDeleteMovement(movement);
|
||||||
p.movements.slice(id, id);
|
|
||||||
|
|
||||||
p.needReload(false);
|
p.needReload(true);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Failed to delete movement!", e);
|
console.error("Failed to delete movement!", e);
|
||||||
alert(`Failed to delete movement! ${e}`);
|
alert(`Failed to delete movement! ${e}`);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user