Skip to content

Commit

Permalink
refactor(breeding-form): update handleBreedingsChanged signature and …
Browse files Browse the repository at this point in the history
…improve herd change handling

Modified the handleBreedingsChanged function to accept an optional boolean parameter for better control over dialog closure. Updated the BreedingForm component to call this function with the appropriate argument based on breeding data conditions. Additionally, ensured that breeding data is refreshed after changes, enhancing the overall data management and user experience in the breeding process.
  • Loading branch information
Jonas Hagberg committed Jan 3, 2025
1 parent 010e599 commit 1444101
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
11 changes: 8 additions & 3 deletions frontend/src/SelectHerdStep.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,8 @@ export const SelectHerdStep: React.FC<SelectHerdStepProps> = ({
const handleBreedingDialogClose = useCallback(() => {
setSelectedBreeding(null);
setIsBreedingDialogOpen(false);
}, []);
fetchBreedings();
}, [fetchBreedings]);

// Get filtered breedings for the report year
const selectedHerdBreedings = useMemo(() => {
Expand Down Expand Up @@ -481,9 +482,13 @@ export const SelectHerdStep: React.FC<SelectHerdStepProps> = ({
<BreedingForm
data={selectedBreeding}
herdId={herdId || undefined}
handleBreedingsChanged={() => {
handleBreedingDialogClose();
handleBreedingsChanged={(shouldClose?: boolean) => {
// Refresh the data first
fetchBreedings();
// Close if explicitly told to do so by the form
if (shouldClose) {
handleBreedingDialogClose();
}
}}
handleActive={() => {}}
/>
Expand Down
11 changes: 6 additions & 5 deletions frontend/src/breeding_form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export function BreedingForm({
}: {
data: Breeding | "new";
herdId: string | undefined;
handleBreedingsChanged: () => void;
handleBreedingsChanged: (shouldClose?: boolean) => void;
handleActive: (breeding: Breeding) => void;
}) {
const {
Expand Down Expand Up @@ -496,7 +496,8 @@ export function BreedingForm({

if (breeding.birth_date === null) {
userMessage("Kullen har sparats.", "success");

await setHerdChangeListener(herdChangeListener + 1);
handleBreedingsChanged();
return;
}

Expand All @@ -520,7 +521,7 @@ export function BreedingForm({
);
}
await setHerdChangeListener(herdChangeListener + 1);
handleBreedingsChanged();
handleBreedingsChanged(true);
}
break;
case 1:
Expand All @@ -529,13 +530,13 @@ export function BreedingForm({
breeding.mother = breedingMatch.mother;
await handleEditableBreedingUpdates(breeding, breedingMatch);
await setHerdChangeListener(herdChangeListener + 1);
handleBreedingsChanged();
handleBreedingsChanged(!!breeding.birth_date);
break;
default:
// update breeding event
await handleEditableBreedingUpdates(breeding, breedingMatch);
await setHerdChangeListener(herdChangeListener + 1);
handleBreedingsChanged();
handleBreedingsChanged(!!breeding.birth_date);
break;
}
};
Expand Down

0 comments on commit 1444101

Please # to comment.