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({
...data,
isPublished: data.isPublished || !!data.publicationDate,
metadata,
privateMetadata
});

View file

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

View file

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

View file

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

View file

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