This commit is contained in:
Magdalena Markusik 2020-10-19 12:28:43 +02:00
parent e472bea95f
commit 374aab6603
5 changed files with 33 additions and 28 deletions

View file

@ -83,6 +83,7 @@ const CollectionDetailsPage: React.FC<CollectionDetailsPageProps> = ({
onSubmit({ onSubmit({
...data, ...data,
isPublished: data.isPublished || !!data.publicationDate,
metadata, metadata,
privateMetadata privateMetadata
}); });

View file

@ -70,8 +70,16 @@ const PageDetailsPage: React.FC<PageDetailsPageProps> = ({
slug: maybe(() => page.slug, ""), slug: maybe(() => page.slug, ""),
title: maybe(() => page.title, "") title: maybe(() => page.title, "")
}; };
const handleSubmit = (data: FormData) => onSubmit(getParsedData(data));
const getParsedData = (data: FormData) => ({
...data,
isPublished: data.isPublished || !!data.publicationDate
});
return ( return (
<Form initial={initialForm} onSubmit={onSubmit}> <Form initial={initialForm} onSubmit={handleSubmit}>
{({ change, data, hasChanged, submit }) => ( {({ change, data, hasChanged, submit }) => (
<Container> <Container>
<AppHeader onBack={onBack}> <AppHeader onBack={onBack}>

View file

@ -53,11 +53,7 @@ export const PageCreate: React.FC<PageCreateProps> = () => {
input: { input: {
contentJson: JSON.stringify(formData.content), contentJson: JSON.stringify(formData.content),
isPublished: formData.isPublished, isPublished: formData.isPublished,
publicationDate: formData.isPublished publicationDate: formData.publicationDate,
? null
: formData.publicationDate === ""
? null
: formData.publicationDate,
seo: { seo: {
description: formData.seoDescription, description: formData.seoDescription,
title: formData.seoTitle title: formData.seoTitle

View file

@ -23,11 +23,7 @@ export interface PageDetailsProps {
const createPageInput = (data: FormData): PageInput => ({ const createPageInput = (data: FormData): PageInput => ({
contentJson: JSON.stringify(data.content), contentJson: JSON.stringify(data.content),
isPublished: data.isPublished, isPublished: data.isPublished,
publicationDate: data.isPublished publicationDate: data.publicationDate,
? null
: data.publicationDate === ""
? null
: data.publicationDate,
seo: { seo: {
description: data.seoDescription, description: data.seoDescription,
title: data.seoTitle title: data.seoTitle

View file

@ -187,9 +187,14 @@ export const ProductUpdatePage: React.FC<ProductUpdatePageProps> = ({
value: taxType.taxCode value: taxType.taxCode
})) || []; })) || [];
const getAvailabilityData = (data: ProductUpdatePageFormData) => ({ const getAvailabilityData = ({
isAvailableForPurchase: !!data.availableForPurchase, availableForPurchase,
isPublished: !!data.publicationDate isPublished,
publicationDate
}: ProductUpdatePageFormData) => ({
isAvailableForPurchase: !!availableForPurchase,
isPublished: isPublished || !!publicationDate,
startDate: availableForPurchase || null
}); });
const getStocksData = () => { const getStocksData = () => {
@ -211,22 +216,21 @@ export const ProductUpdatePage: React.FC<ProductUpdatePageProps> = ({
}; };
}; };
const getParsedData = (data: ProductUpdatePageFormData) => { const getMetadata = (data: ProductUpdatePageFormData) => ({
const metadata = isMetadataModified ? data.metadata : undefined; metadata: isMetadataModified ? data.metadata : undefined,
const privateMetadata = isPrivateMetadataModified privateMetadata: isPrivateMetadataModified
? data.privateMetadata ? data.privateMetadata
: undefined; : undefined
});
return { const getParsedData = (data: ProductUpdatePageFormData) => ({
...data, ...data,
...getAvailabilityData(data), ...getAvailabilityData(data),
...getStocksData(), ...getStocksData(),
...getMetadata(data),
addStocks: [], addStocks: [],
attributes, attributes
metadata, });
privateMetadata
};
};
const handleSubmit = (data: ProductUpdatePageFormData) => const handleSubmit = (data: ProductUpdatePageFormData) =>
onSubmit(getParsedData(data)); onSubmit(getParsedData(data));