fixed refresh existen permission
This commit is contained in:
parent
b3b7297bc3
commit
b2c68824dd
@ -28,6 +28,7 @@ const ProjectPermission = () => {
|
|||||||
handleSubmit,
|
handleSubmit,
|
||||||
reset,
|
reset,
|
||||||
control,
|
control,
|
||||||
|
setValue,
|
||||||
formState: { errors, isDirty },
|
formState: { errors, isDirty },
|
||||||
} = useForm({
|
} = useForm({
|
||||||
resolver: zodResolver(ProjectPermissionSchema),
|
resolver: zodResolver(ProjectPermissionSchema),
|
||||||
@ -45,18 +46,26 @@ const ProjectPermission = () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!selectedEmployee) return;
|
if (!selectedEmployee) return;
|
||||||
|
|
||||||
const enabledPerms =
|
const enabledPerms =
|
||||||
selectedEmpPermissions?.permissions
|
selectedEmpPermissions?.permissions
|
||||||
?.filter((perm) => perm.isEnabled)
|
?.filter((perm) => perm.isEnabled)
|
||||||
?.map((perm) => perm.id) || [];
|
?.map((perm) => perm.id) || [];
|
||||||
|
|
||||||
reset((prev) => ({
|
setValue("selectedPermissions", enabledPerms, { shouldValidate: true });
|
||||||
...prev,
|
}, [selectedEmpPermissions, setValue, selectedEmployee]);
|
||||||
selectedPermissions: enabledPerms,
|
|
||||||
}));
|
const selectedPermissions = watch("selectedPermissions") || [];
|
||||||
}, [selectedEmpPermissions, reset, selectedEmployee]);
|
|
||||||
|
const existingEnabledIds =
|
||||||
|
selectedEmpPermissions?.permissions
|
||||||
|
?.filter((p) => p.isEnabled)
|
||||||
|
?.map((p) => p.id) || [];
|
||||||
|
|
||||||
|
const hasChanges =
|
||||||
|
selectedPermissions.length !== existingEnabledIds.length ||
|
||||||
|
selectedPermissions.some((id) => !existingEnabledIds.includes(id));
|
||||||
|
|
||||||
const { mutate: updatePermission, isPending } =
|
const { mutate: updatePermission, isPending } =
|
||||||
useUpdateProjectLevelEmployeePermission();
|
useUpdateProjectLevelEmployeePermission();
|
||||||
@ -145,7 +154,7 @@ const ProjectPermission = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-3 text-end">
|
<div className="mt-3 text-end">
|
||||||
{isDirty && (
|
{hasChanges && (
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
className="btn btn-sm btn-primary"
|
className="btn btn-sm btn-primary"
|
||||||
|
|||||||
@ -191,7 +191,7 @@ export const useProjectInfra = (projectId) => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
return { projectInfra, isLoading, error, isFetched };
|
return { projectInfra, isLoading, error,isFetched };
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useProjectTasks = (workAreaId, IsExpandedArea = false) => {
|
export const useProjectTasks = (workAreaId, IsExpandedArea = false) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user