1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

consolidate asset edit form actions

This commit is contained in:
Matthias Kretschmann 2021-07-22 13:51:07 +02:00
parent 7368c9cc68
commit ae988f083b
Signed by: m
GPG Key ID: 606EEEF3C479A91F
6 changed files with 74 additions and 81 deletions

View File

@ -0,0 +1,20 @@
.actions {
margin-left: -2rem;
margin-right: -2rem;
border-top: 1px solid var(--border-color);
padding: calc(var(--spacer) / 2) var(--spacer) 0;
display: flex;
justify-content: center;
}
@media (min-width: 40rem) {
.actions {
padding-top: var(--spacer);
}
}
.actions a,
.actions button {
margin-left: calc(var(--spacer) / 2);
margin-right: calc(var(--spacer) / 2);
}

View File

@ -0,0 +1,37 @@
import { FormikContextType, useFormikContext } from 'formik'
import React, { ReactElement } from 'react'
import { AdvancedSettingsForm } from '../../../../models/FormEditCredential'
import { useAsset } from '../../../../providers/Asset'
import { useOcean } from '../../../../providers/Ocean'
import { useWeb3 } from '../../../../providers/Web3'
import Button from '../../../atoms/Button'
import styles from './FormActions.module.css'
export default function FormActions({
setShowEdit,
handleClick
}: {
setShowEdit: (show: boolean) => void
handleClick?: () => void
}): ReactElement {
const { accountId } = useWeb3()
const { ocean } = useOcean()
const { isAssetNetwork } = useAsset()
const { isValid }: FormikContextType<Partial<AdvancedSettingsForm>> =
useFormikContext()
return (
<footer className={styles.actions}>
<Button
style="primary"
disabled={!ocean || !accountId || !isValid || !isAssetNetwork}
onClick={handleClick}
>
Submit
</Button>
<Button style="text" onClick={() => setShowEdit(false)}>
Cancel
</Button>
</footer>
)
}

View File

@ -1,13 +1,10 @@
import React, { ChangeEvent, ReactElement } from 'react' import React, { ChangeEvent, ReactElement } from 'react'
import styles from './FormEditMetadata.module.css' import styles from './FormEditMetadata.module.css'
import { Field, Form, FormikContextType, useFormikContext } from 'formik' import { Field, Form, FormikContextType, useFormikContext } from 'formik'
import Button from '../../../atoms/Button'
import Input from '../../../atoms/Input' import Input from '../../../atoms/Input'
import { FormFieldProps } from '../../../../@types/Form' import { FormFieldProps } from '../../../../@types/Form'
import { useOcean } from '../../../../providers/Ocean'
import { useWeb3 } from '../../../../providers/Web3'
import { AdvancedSettingsForm } from '../../../../models/FormEditCredential' import { AdvancedSettingsForm } from '../../../../models/FormEditCredential'
import { useAsset } from '../../../../providers/Asset' import FormActions from './FormActions'
export default function FormAdvancedSettings({ export default function FormAdvancedSettings({
data, data,
@ -16,11 +13,7 @@ export default function FormAdvancedSettings({
data: FormFieldProps[] data: FormFieldProps[]
setShowEdit: (show: boolean) => void setShowEdit: (show: boolean) => void
}): ReactElement { }): ReactElement {
const { accountId } = useWeb3()
const { isAssetNetwork } = useAsset()
const { ocean, config } = useOcean()
const { const {
isValid,
validateField, validateField,
setFieldValue setFieldValue
}: FormikContextType<Partial<AdvancedSettingsForm>> = useFormikContext() }: FormikContextType<Partial<AdvancedSettingsForm>> = useFormikContext()
@ -47,17 +40,8 @@ export default function FormAdvancedSettings({
} }
/> />
))} ))}
<footer className={styles.actions}>
<Button <FormActions setShowEdit={setShowEdit} />
style="primary"
disabled={!ocean || !accountId || !isValid || !isAssetNetwork}
>
Submit
</Button>
<Button style="text" onClick={() => setShowEdit(false)}>
Cancel
</Button>
</footer>
</Form> </Form>
) )
} }

View File

@ -1,9 +1,6 @@
import React, { ReactElement, useEffect, useState } from 'react' import React, { ReactElement, useEffect, useState } from 'react'
import { Field, Form, FormikContextType, useFormikContext } from 'formik' import { Field, Form, FormikContextType, useFormikContext } from 'formik'
import Button from '../../../atoms/Button'
import Input from '../../../atoms/Input' import Input from '../../../atoms/Input'
import { useOcean } from '../../../../providers/Ocean'
import { useWeb3 } from '../../../../providers/Web3'
import { FormFieldProps } from '../../../../@types/Form' import { FormFieldProps } from '../../../../@types/Form'
import { AssetSelectionAsset } from '../../../molecules/FormFields/AssetSelection' import { AssetSelectionAsset } from '../../../molecules/FormFields/AssetSelection'
import stylesIndex from './index.module.css' import stylesIndex from './index.module.css'
@ -17,6 +14,7 @@ import { ComputePrivacyForm } from '../../../../models/FormEditComputeDataset'
import { publisherTrustedAlgorithm as PublisherTrustedAlgorithm } from '@oceanprotocol/lib' import { publisherTrustedAlgorithm as PublisherTrustedAlgorithm } from '@oceanprotocol/lib'
import axios from 'axios' import axios from 'axios'
import { useSiteMetadata } from '../../../../hooks/useSiteMetadata' import { useSiteMetadata } from '../../../../hooks/useSiteMetadata'
import FormActions from './FormActions'
export default function FormEditComputeDataset({ export default function FormEditComputeDataset({
data, data,
@ -28,11 +26,8 @@ export default function FormEditComputeDataset({
setShowEdit: (show: boolean) => void setShowEdit: (show: boolean) => void
}): ReactElement { }): ReactElement {
const { appConfig } = useSiteMetadata() const { appConfig } = useSiteMetadata()
const { accountId } = useWeb3() const { ddo } = useAsset()
const { ocean } = useOcean() const { values }: FormikContextType<ComputePrivacyForm> = useFormikContext()
const { ddo, isAssetNetwork } = useAsset()
const { isValid, values }: FormikContextType<ComputePrivacyForm> =
useFormikContext()
const [allAlgorithms, setAllAlgorithms] = useState<AssetSelectionAsset[]>() const [allAlgorithms, setAllAlgorithms] = useState<AssetSelectionAsset[]>()
const { publisherTrustedAlgorithms } = const { publisherTrustedAlgorithms } =
@ -87,17 +82,8 @@ export default function FormEditComputeDataset({
component={Input} component={Input}
/> />
))} ))}
<footer className={styles.actions}>
<Button <FormActions setShowEdit={setShowEdit} />
style="primary"
disabled={!ocean || !accountId || !isValid || !isAssetNetwork}
>
Submit
</Button>
<Button style="text" onClick={() => setShowEdit(false)}>
Cancel
</Button>
</footer>
</Form> </Form>
) )
} }

View File

@ -2,27 +2,6 @@
composes: box from '../../../atoms/Box.module.css'; composes: box from '../../../atoms/Box.module.css';
} }
.actions { .form select[multiple] {
margin-left: -2rem;
margin-right: -2rem;
border-top: 1px solid var(--border-color);
padding: calc(var(--spacer) / 2) var(--spacer) 0;
display: flex;
justify-content: center;
}
@media (min-width: 40rem) {
.actions {
padding-top: var(--spacer);
}
}
.actions a,
.actions button {
margin-left: calc(var(--spacer) / 2);
margin-right: calc(var(--spacer) / 2);
}
select[multiple] {
height: 130px; height: 130px;
} }

View File

@ -1,14 +1,12 @@
import React, { ChangeEvent, ReactElement } from 'react' import React, { ChangeEvent, ReactElement } from 'react'
import styles from './FormEditMetadata.module.css'
import { Field, Form, FormikContextType, useFormikContext } from 'formik' import { Field, Form, FormikContextType, useFormikContext } from 'formik'
import Button from '../../../atoms/Button' import { useOcean } from '../../../../providers/Ocean'
import Input from '../../../atoms/Input' import Input from '../../../atoms/Input'
import { FormFieldProps } from '../../../../@types/Form' import { FormFieldProps } from '../../../../@types/Form'
import { MetadataPublishFormDataset } from '../../../../@types/MetaData' import { MetadataPublishFormDataset } from '../../../../@types/MetaData'
import { checkIfTimeoutInPredefinedValues } from '../../../../utils/metadata' import { checkIfTimeoutInPredefinedValues } from '../../../../utils/metadata'
import { useOcean } from '../../../../providers/Ocean' import FormActions from './FormActions'
import { useWeb3 } from '../../../../providers/Web3' import styles from './FormEditMetadata.module.css'
import { useAsset } from '../../../../providers/Asset'
function handleTimeoutCustomOption( function handleTimeoutCustomOption(
data: FormFieldProps[], data: FormFieldProps[],
@ -57,11 +55,8 @@ export default function FormEditMetadata({
values: Partial<MetadataPublishFormDataset> values: Partial<MetadataPublishFormDataset>
showPrice: boolean showPrice: boolean
}): ReactElement { }): ReactElement {
const { accountId } = useWeb3() const { config } = useOcean()
const { ocean, config } = useOcean()
const { isAssetNetwork } = useAsset()
const { const {
isValid,
validateField, validateField,
setFieldValue setFieldValue
}: FormikContextType<Partial<MetadataPublishFormDataset>> = useFormikContext() }: FormikContextType<Partial<MetadataPublishFormDataset>> = useFormikContext()
@ -98,18 +93,10 @@ export default function FormEditMetadata({
) )
)} )}
<footer className={styles.actions}> <FormActions
<Button setShowEdit={setShowEdit}
style="primary" handleClick={() => setTimeoutStringValue(values.timeout)}
disabled={!ocean || !accountId || !isValid || !isAssetNetwork} />
onClick={() => setTimeoutStringValue(values.timeout)}
>
Submit
</Button>
<Button style="text" onClick={() => setShowEdit(false)}>
Cancel
</Button>
</footer>
</Form> </Form>
) )
} }