Fixed error cleanup when switching product variants

This commit is contained in:
Tomasz Szymański 2019-12-03 10:17:01 +01:00
parent b989a53ea1
commit 2660fe40dd
No known key found for this signature in database
GPG key ID: 44599E4104C38902

View file

@ -1,4 +1,4 @@
import React from "react"; import React, { useState } from "react";
import { useIntl } from "react-intl"; import { useIntl } from "react-intl";
import placeholderImg from "@assets/images/placeholder255x255.png"; import placeholderImg from "@assets/images/placeholder255x255.png";
@ -43,6 +43,7 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
require={["productVariant"]} require={["productVariant"]}
> >
{({ data, loading }) => { {({ data, loading }) => {
const [errors, setErrors] = useState([]);
const variant = data ? data.productVariant : undefined; const variant = data ? data.productVariant : undefined;
const handleBack = () => navigate(productUrl(productId)); const handleBack = () => navigate(productUrl(productId));
const handleDelete = () => { const handleDelete = () => {
@ -54,8 +55,10 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
navigate(productUrl(productId)); navigate(productUrl(productId));
}; };
const handleUpdate = (data: VariantUpdate) => { const handleUpdate = (data: VariantUpdate) => {
if (!maybe(() => data.productVariantUpdate.productErrors.length)) { if (!data.productVariantUpdate.productErrors.length) {
notify({ text: intl.formatMessage(commonMessages.savedChanges) }); notify({ text: intl.formatMessage(commonMessages.savedChanges) });
} else {
setErrors(data.productVariantUpdate.productErrors);
} }
}; };
@ -107,12 +110,7 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
<> <>
<WindowTitle title={maybe(() => data.productVariant.name)} /> <WindowTitle title={maybe(() => data.productVariant.name)} />
<ProductVariantPage <ProductVariantPage
errors={maybe( errors={errors}
() =>
updateVariant.opts.data.productVariantUpdate
.productErrors,
[]
)}
saveButtonBarState={formTransitionState} saveButtonBarState={formTransitionState}
loading={disableFormSave} loading={disableFormSave}
placeholderImage={placeholderImg} placeholderImage={placeholderImg}
@ -146,6 +144,7 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
}} }}
onVariantClick={variantId => { onVariantClick={variantId => {
navigate(productVariantEditUrl(productId, variantId)); navigate(productVariantEditUrl(productId, variantId));
setErrors([]);
}} }}
/> />
<ProductVariantDeleteDialog <ProductVariantDeleteDialog