Can update movement information
This commit is contained in:
		@@ -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;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }}
 | 
				
			||||||
    />
 | 
					    />
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user