diff --git a/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.helpers.js b/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.helpers.js new file mode 100644 index 00000000..6da201ad --- /dev/null +++ b/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.helpers.js @@ -0,0 +1,46 @@ +import React from 'react'; +import config from '../../config'; +import { required } from '../../util/validators'; +import { SelectField } from '../../components'; + +import css from './EditListingDescriptionForm.css'; + +export const CategorySelectFieldMaybe = props => { + const { form, intl } = props; + + // Does custom attribute 'category' exists in current marketplace configuration + const caCategory = config.customAttributes && config.customAttributes.category; + const isSingleChoiceCategory = caCategory && caCategory.type === 'singleChoice'; + + // If custom attribute for category doesn't exist, don't print SelectField + if (!isSingleChoiceCategory) { + return null; + } + + const categoryLabel = intl.formatMessage({ id: 'EditListingDescriptionForm.categoryLabel' }); + const categoryPlaceholder = intl.formatMessage({ + id: 'EditListingDescriptionForm.categoryPlaceholder', + }); + const categoryRequired = required( + intl.formatMessage({ + id: 'EditListingDescriptionForm.categoryRequired', + }) + ); + + return ( + + + {caCategory.values.map(c => ( + + ))} + + ); +}; diff --git a/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.js b/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.js index 7faa7837..e5a37f7f 100644 --- a/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.js +++ b/src/containers/EditListingDescriptionForm/EditListingDescriptionForm.js @@ -8,6 +8,7 @@ import * as propTypes from '../../util/propTypes'; import { maxLength, required } from '../../util/validators'; import { Form, Button, TextInputField } from '../../components'; +import { CategorySelectFieldMaybe } from './EditListingDescriptionForm.helpers'; import css from './EditListingDescriptionForm.css'; const TITLE_MAX_LENGTH = 60; @@ -85,6 +86,8 @@ const EditListingDescriptionFormComponent = props => { validate={[required(descriptionRequiredMessage)]} /> + +