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?;
|
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
|
/// Delete a movement
|
||||||
|
@ -60,4 +60,17 @@ export class MovementApi {
|
|||||||
})
|
})
|
||||||
).data;
|
).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 { AsyncWidget } from "../widgets/AsyncWidget";
|
||||||
import { DataGrid, GridColDef } from "@mui/x-data-grid";
|
import { DataGrid, GridColDef } from "@mui/x-data-grid";
|
||||||
import { DateWidget } from "../widgets/DateWidget";
|
import { DateWidget } from "../widgets/DateWidget";
|
||||||
|
import { useAlert } from "../hooks/context_providers/AlertDialogProvider";
|
||||||
|
|
||||||
export function AccountRoute(): React.ReactElement {
|
export function AccountRoute(): React.ReactElement {
|
||||||
const { accountId } = useParams();
|
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]>[] = [
|
const columns: GridColDef<(typeof p.movements)[number]>[] = [
|
||||||
{
|
{
|
||||||
field: "checked",
|
field: "checked",
|
||||||
@ -118,7 +124,7 @@ function MovementsTable(p: { movements: Movement[] }): React.ReactElement {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<DataGrid
|
<DataGrid<Movement>
|
||||||
columns={columns}
|
columns={columns}
|
||||||
rows={p.movements}
|
rows={p.movements}
|
||||||
autoPageSize
|
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