diff --git a/src/AdvancedListingBlockTemplate.jsx b/src/AdvancedListingBlockTemplate.jsx index 4366de9..6e6dc20 100644 --- a/src/AdvancedListingBlockTemplate.jsx +++ b/src/AdvancedListingBlockTemplate.jsx @@ -19,6 +19,7 @@ const AdvancedListingBlockTemplate = ({ howManyColumns, effectiveDate, titleTag, + showDescription, }) => { let link = null; let href = linkHref?.[0]?.['@id'] || ''; @@ -36,15 +37,19 @@ const AdvancedListingBlockTemplate = ({ const hasImage = imageSide !== null; const oneColumnElement = ['up', 'down', null].includes(imageSide); const columnSize = oneColumnElement ? 1 : 2; - const imageGridWidth = oneColumnElement ? 12 : (imageWidth ? imageWidth : 2); - const contentGridWidth = oneColumnElement ? 12 : (hasImage ? 12 - imageWidth : 12); + const imageGridWidth = oneColumnElement ? 12 : imageWidth ? imageWidth : 2; + const contentGridWidth = oneColumnElement + ? 12 + : hasImage + ? 12 - imageWidth + : 12; const intl = useIntl(); moment.locale(intl.locale); return ( <> {items.map((item) => ( - < Grid.Column key={item['@id']} > + {['up', 'left'].includes(imageSide) && ( @@ -74,10 +79,10 @@ const AdvancedListingBlockTemplate = ({ ) : (

{item.title ? item.title : item.id}

)} - {effectiveDate && -

{moment(item.effective).format("L")}

- } -

{item.description}

+ {effectiveDate &&

{moment(item.effective).format('L')}

} + {showDescription && item.description && ( +

{item.description}

+ )}
{['right', 'down'].includes(imageSide) && ( diff --git a/src/advancedSchema.js b/src/advancedSchema.js index b695e59..b3d772d 100644 --- a/src/advancedSchema.js +++ b/src/advancedSchema.js @@ -3,7 +3,9 @@ import messages from './messages'; export const advancedSchema = (props) => { const { intl, schema, formData } = props; - const imageWidth = ['right', 'left'].includes(formData.imageSide) ? ['imageWidth'] : []; + const imageWidth = ['right', 'left'].includes(formData.imageSide) + ? ['imageWidth'] + : []; return { ...schema, fieldsets: [ @@ -32,6 +34,11 @@ export const advancedSchema = (props) => { title: intl.formatMessage(messages.titleConfiguration), fields: ['titleTag'], }, + { + id: 'description', + title: intl.formatMessage(messages.descriptionConfiguration), + fields: ['showDescription'], + }, { id: 'date', title: intl.formatMessage(messages.dateConfiguration), @@ -73,7 +80,6 @@ export const advancedSchema = (props) => { ['left', 'left'], ['right', 'right'], ['down', 'down'], - ], }, titleTag: { @@ -87,12 +93,18 @@ export const advancedSchema = (props) => { [(children) =>

{children}

, 'H4'], ], }, - effectiveDate: { - title: intl.formatMessage(messages.dateConfiguration), + showDescription: { + title: intl.formatMessage(messages.descriptionConfigurationTitle), description: intl.formatMessage( - messages.dateConfigurationDescription, + messages.descriptionConfigurationDescription, ), - type: 'boolean' + type: 'boolean', + default: true, + }, + effectiveDate: { + title: intl.formatMessage(messages.dateConfiguration), + description: intl.formatMessage(messages.dateConfigurationDescription), + type: 'boolean', }, }, }; diff --git a/src/messages.js b/src/messages.js index 998d7d9..916d841 100644 --- a/src/messages.js +++ b/src/messages.js @@ -44,6 +44,19 @@ const messages = defineMessages({ id: 'Default HTML tag will be H3', defaultMessage: 'Default HTML tag will be H3', }, + descriptionConfiguration: { + id: 'description', + defaultMessage: 'Description', + }, + descriptionConfigurationTitle: { + id: 'descriptionConfigurationTitle', + defaultMessage: 'Show the description?', + }, + descriptionConfigurationDescription: { + id: 'descriptionConfigurationDescription', + defaultMessage: 'If selected, the description will be shown', + }, + dateConfiguration: { id: 'effectiveDate', defaultMessage: 'effectiveDate',