Can update movement information
This commit is contained in:
parent
5db816ca9a
commit
68dfbfff2b
@ -48,7 +48,7 @@ pub async fn update(
|
||||
|
||||
movements_service::update(movement.movement().id(), &req).await?;
|
||||
|
||||
Ok(HttpResponse::Accepted().finish())
|
||||
Ok(HttpResponse::Ok().json(movements_service::get_by_id(movement.movement().id()).await?))
|
||||
}
|
||||
|
||||
/// Delete a movement
|
||||
|
@ -60,4 +60,17 @@ export class MovementApi {
|
||||
})
|
||||
).data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a movement information
|
||||
*/
|
||||
static async Update(movement: Movement): Promise<Movement> {
|
||||
return (
|
||||
await APIClient.exec({
|
||||
uri: `/movement/${movement.id}`,
|
||||
method: "PUT",
|
||||
jsonData: movement,
|
||||
})
|
||||
).data;
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import React from "react";
|
||||
import { AsyncWidget } from "../widgets/AsyncWidget";
|
||||
import { DataGrid, GridColDef } from "@mui/x-data-grid";
|
||||
import { DateWidget } from "../widgets/DateWidget";
|
||||
import { useAlert } from "../hooks/context_providers/AlertDialogProvider";
|
||||
|
||||
export function AccountRoute(): React.ReactElement {
|
||||
const { accountId } = useParams();
|
||||
@ -66,7 +67,12 @@ export function AccountRoute(): React.ReactElement {
|
||||
);
|
||||
}
|
||||
|
||||
function MovementsTable(p: { movements: Movement[] }): React.ReactElement {
|
||||
function MovementsTable(p: {
|
||||
movements: Movement[];
|
||||
needReload: () => {};
|
||||
}): React.ReactElement {
|
||||
const alert = useAlert();
|
||||
|
||||
const columns: GridColDef<(typeof p.movements)[number]>[] = [
|
||||
{
|
||||
field: "checked",
|
||||
@ -118,7 +124,7 @@ function MovementsTable(p: { movements: Movement[] }): React.ReactElement {
|
||||
},
|
||||
];
|
||||
return (
|
||||
<DataGrid
|
||||
<DataGrid<Movement>
|
||||
columns={columns}
|
||||
rows={p.movements}
|
||||
autoPageSize
|
||||
@ -133,6 +139,15 @@ function MovementsTable(p: { movements: Movement[] }): React.ReactElement {
|
||||
},
|
||||
},
|
||||
}}
|
||||
processRowUpdate={async (n) => {
|
||||
try {
|
||||
return await MovementApi.Update(n);
|
||||
} catch (e) {
|
||||
console.error("Failed to update movement information!", e);
|
||||
alert(`Failed to update row! ${e}`);
|
||||
throw e;
|
||||
}
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user