feat: item-duplicate

This commit is contained in:
elforjani3
2021-02-10 18:29:23 +02:00
parent 08beb9a0d6
commit 3a90141113
7 changed files with 46 additions and 20 deletions

View File

@@ -58,14 +58,15 @@ function ItemForm({
createItemMutate,
editItemMutate,
submitPayload,
isNewMode
isNewMode,
isDuplicateMode,
} = useItemFormContext();
// History context.
const history = useHistory();
const { formatMessage } = useIntl();
/**
* Initial values in create and edit mode.
*/
@@ -95,7 +96,11 @@ function ItemForm({
// Transform API errors.
const transformApiErrors = (error) => {
const { response: { data: { errors } } } = error;
const {
response: {
data: { errors },
},
} = error;
const fields = {};
if (errors.find((e) => e.type === 'ITEM.NAME.ALREADY.EXISTS')) {
@@ -116,9 +121,10 @@ function ItemForm({
AppToaster.show({
message: formatMessage(
{
id: isNewMode
? 'the_item_has_been_created_successfully'
: 'the_item_has_been_edited_successfully',
id:
isNewMode || isDuplicateMode
? 'the_item_has_been_created_successfully'
: 'the_item_has_been_edited_successfully',
},
{
number: itemId,
@@ -143,13 +149,13 @@ function ItemForm({
setErrors({ ..._errors });
}
};
if (isNewMode) {
if (isNewMode || isDuplicateMode) {
createItemMutate(form).then(onSuccess).catch(onError);
} else {
editItemMutate([itemId, form]).then(onSuccess).catch(onError);
}
};
return (
<div class={classNames(CLASSES.PAGE_FORM_ITEM)}>
<Formik