From f71eaa854ea1dd15c6543d9e9526769be6d3839e Mon Sep 17 00:00:00 2001 From: mihaisc Date: Thu, 13 Aug 2020 16:02:26 +0300 Subject: [PATCH] reset form fix --- src/components/pages/Publish/Preview.tsx | 2 +- src/components/pages/Publish/PublishForm.tsx | 21 ++++++++++++-------- src/components/pages/Publish/index.tsx | 9 +++++++-- src/models/FormPublish.ts | 18 ++++++++--------- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/components/pages/Publish/Preview.tsx b/src/components/pages/Publish/Preview.tsx index f89e9e80a..00789ebbb 100644 --- a/src/components/pages/Publish/Preview.tsx +++ b/src/components/pages/Publish/Preview.tsx @@ -5,7 +5,7 @@ import Tags from '../../atoms/Tags' import MetaItem from '../../organisms/AssetContent/MetaItem' import styles from './Preview.module.css' import File from '../../atoms/File' -import { MetadataPublishForm } from '../../../@types/Metadata' +import { MetadataPublishForm } from '../../../@types/MetaData' export default function Preview({ values diff --git a/src/components/pages/Publish/PublishForm.tsx b/src/components/pages/Publish/PublishForm.tsx index 2c5d2c329..4f7d1ebd2 100644 --- a/src/components/pages/Publish/PublishForm.tsx +++ b/src/components/pages/Publish/PublishForm.tsx @@ -1,4 +1,4 @@ -import React, { ReactElement, useEffect } from 'react' +import React, { ReactElement, useEffect, FormEvent } from 'react' import styles from './PublishForm.module.css' import { useOcean, usePublish } from '@oceanprotocol/react' import { useFormikContext, Form, Field } from 'formik' @@ -22,9 +22,10 @@ export default function PublishForm({ setErrors, setTouched, resetForm, + setValues, initialValues } = useFormikContext() - + const formName = 'ocean-publish-form' // reset form validation on every mount useEffect(() => { setErrors({}) @@ -32,6 +33,14 @@ export default function PublishForm({ // setSubmitting(false) }, []) + const resetFormAndClearStorage = async (e: FormEvent) => { + e.preventDefault() + + await resetForm({ values: initialValues, status: 'empty' }) + + setStatus('empty') + } + return (
{ - e.preventDefault() - resetForm(initialValues) - setStatus('empty') - }} + onClick={resetFormAndClearStorage} > Reset Form )} )} - + ) } diff --git a/src/components/pages/Publish/index.tsx b/src/components/pages/Publish/index.tsx index 53e2863c8..046a85688 100644 --- a/src/components/pages/Publish/index.tsx +++ b/src/components/pages/Publish/index.tsx @@ -34,7 +34,12 @@ export default function PublishPage({ `) const metadata = transformPublishFormToMetadata(values) - const { tokensToMint, type, weightOnDataToken, ownerFee } = values.price + const { + tokensToMint, + type, + weightOnDataToken, + liquidityProviderFee + } = values.price const serviceType = values.access === 'Download' ? 'access' : 'compute' console.log(` @@ -61,7 +66,7 @@ export default function PublishPage({ ddo.dataToken, tokensToMint.toString(), weightOnDataToken, - ownerFee + liquidityProviderFee ) } } diff --git a/src/models/FormPublish.ts b/src/models/FormPublish.ts index 5154de115..e029c32f0 100644 --- a/src/models/FormPublish.ts +++ b/src/models/FormPublish.ts @@ -29,20 +29,20 @@ export const validationSchema = Yup.object().shape({ }) export const initialValues: MetadataPublishForm = { - name: undefined, - author: undefined, + name: '', + author: '', price: { type: 'simple', tokensToMint: 1, weightOnDataToken: '9', // 90% on data token liquidityProviderFee: '0.1' // in % }, - files: undefined, - description: undefined, - license: undefined, - access: undefined, + files: '', + description: '', + license: '', + access: '', termsAndConditions: false, - copyrightHolder: undefined, - tags: undefined, - links: undefined + copyrightHolder: '', + tags: '', + links: '' }