EditView: Display notification when a stage change was successful

This commit is contained in:
Gustav Hansen 2023-04-11 15:54:27 +02:00
parent 25bdf083b2
commit 23abbc63d8

View File

@ -4,6 +4,7 @@ import {
useCMEditViewDataManager, useCMEditViewDataManager,
useAPIErrorHandler, useAPIErrorHandler,
useFetchClient, useFetchClient,
useNotification,
} from '@strapi/helper-plugin'; } from '@strapi/helper-plugin';
import { Field, FieldLabel, FieldError, Flex } from '@strapi/design-system'; import { Field, FieldLabel, FieldError, Flex } from '@strapi/design-system';
import { useIntl } from 'react-intl'; import { useIntl } from 'react-intl';
@ -24,10 +25,12 @@ export function InformationBoxEE() {
const activeWorkflowStage = initialData?.[ATTRIBUTE_NAME] ?? null; const activeWorkflowStage = initialData?.[ATTRIBUTE_NAME] ?? null;
const { formatMessage } = useIntl(); const { formatMessage } = useIntl();
const { formatAPIError } = useAPIErrorHandler(); const { formatAPIError } = useAPIErrorHandler();
const toggleNotification = useNotification();
const { workflows: { data: [workflow] = [] } = {} } = useReviewWorkflows(); const { workflows: { data: [workflow] = [] } = {} } = useReviewWorkflows();
const { error, isLoading, mutateAsync } = useMutation(async ({ entityId, stageId, uid }) => { const { error, isLoading, mutateAsync } = useMutation(
async ({ entityId, stageId, uid }) => {
const { const {
data: { data }, data: { data },
} = await put(`/admin/content-manager/collection-types/${uid}/${entityId}/stage`, { } = await put(`/admin/content-manager/collection-types/${uid}/${entityId}/stage`, {
@ -35,7 +38,16 @@ export function InformationBoxEE() {
}); });
return data; return data;
},
{
onSuccess() {
toggleNotification({
type: 'success',
message: { id: 'notification.success.saved', defaultMessage: 'Saved' },
}); });
},
}
);
// stages are empty while the workflow is loading // stages are empty while the workflow is loading
const options = (workflow?.stages ?? []).map(({ id, name }) => ({ value: id, label: name })); const options = (workflow?.stages ?? []).map(({ id, name }) => ({ value: id, label: name }));