From b7fca0b776101915aba23bab4996e228e0fa01b6 Mon Sep 17 00:00:00 2001 From: vbojilova Date: Wed, 21 Aug 2024 17:54:35 -0700 Subject: [PATCH] cleanup date field #556 --- app/containers/ActionEdit/index.js | 8 +++---- app/containers/ActionNew/index.js | 2 +- app/containers/CategoryEdit/index.js | 8 +++---- app/containers/IndicatorEdit/index.js | 29 ++++++++++++------------ app/containers/IndicatorNew/index.js | 32 ++++++++++++--------------- app/utils/formik.js | 6 ++--- 6 files changed, 40 insertions(+), 45 deletions(-) diff --git a/app/containers/ActionEdit/index.js b/app/containers/ActionEdit/index.js index bcfecaf6..8c00ae13 100644 --- a/app/containers/ActionEdit/index.js +++ b/app/containers/ActionEdit/index.js @@ -214,10 +214,10 @@ export class ActionEdit extends React.Component { // eslint-disable-line react/p ([ // fieldGroups { // fieldGroup fields: [ - getDateField( - intl.formatMessage, - 'target_date', - ), + getDateField({ + formatMessage: intl.formatMessage, + attribute: 'target_date', + }), getTextareaField( intl.formatMessage, 'target_date_comment', diff --git a/app/containers/ActionNew/index.js b/app/containers/ActionNew/index.js index 66c36b6f..803fd270 100644 --- a/app/containers/ActionNew/index.js +++ b/app/containers/ActionNew/index.js @@ -189,7 +189,7 @@ export class ActionNew extends React.PureComponent { // eslint-disable-line reac ([ // fieldGroups { // fieldGroup fields: [ - getDateField(intl.formatMessage, 'target_date'), + getDateField({ formatMessage: intl.formatMessage, attribute: 'target_date' }), getTextareaField(intl.formatMessage, 'target_date_comment'), ], }, diff --git a/app/containers/CategoryEdit/index.js b/app/containers/CategoryEdit/index.js index 4c36e824..8e2e2701 100644 --- a/app/containers/CategoryEdit/index.js +++ b/app/containers/CategoryEdit/index.js @@ -241,10 +241,10 @@ export class CategoryEdit extends React.PureComponent { // eslint-disable-line r fields.push({ fields: [ entity.getIn(['taxonomy', 'attributes', 'has_date']) - && getDateField( - intl.formatMessage, - 'date', - ), + && getDateField({ + formatMessage: intl.formatMessage, + attribute: 'date', + }), getFormField({ formatMessage: intl.formatMessage, controlType: 'url', diff --git a/app/containers/IndicatorEdit/index.js b/app/containers/IndicatorEdit/index.js index 24349517..2bf63293 100644 --- a/app/containers/IndicatorEdit/index.js +++ b/app/containers/IndicatorEdit/index.js @@ -210,20 +210,19 @@ export class IndicatorEdit extends React.Component { // eslint-disable-line reac label: intl.formatMessage(appMessages.entities.due_dates.schedule), icon: 'reminder', fields: [ - getDateField( - intl.formatMessage, - 'start_date', + getDateField({ + formatMessage: intl.formatMessage, + attribute: 'start_date', repeat, - repeat ? 'start_date' : 'start_date_only', - false, - false, + label: repeat ? 'start_date' : 'start_date_only', + modifyFieldAttributes: (field, formData) => modifyStartDateField( field, this.props.isRepeat(formData), this.props.intl, - ) - ), + ), + }), getCheckboxField( intl.formatMessage, 'repeat', @@ -233,19 +232,19 @@ export class IndicatorEdit extends React.Component { // eslint-disable-line reac intl.formatMessage, (formData) => !this.props.isRepeat(formData) ), - getDateField( - intl.formatMessage, - 'end_date', + getDateField({ + formatMessage: intl.formatMessage, + attribute: 'end_date', repeat, - 'end_date', - (value, formData) => + label: 'end_date', + dynamicValidators: (value, formData) => this.props.onEndDateChange( value, formData, intl.formatMessage, ), - (formData) => !this.props.isRepeat(formData), - ), + isFieldDisabled: (formData) => !this.props.isRepeat(formData), + }), renderUserControl( users, intl.formatMessage(appMessages.attributes.manager_id.indicators), diff --git a/app/containers/IndicatorNew/index.js b/app/containers/IndicatorNew/index.js index d13de7f0..dc5faac8 100644 --- a/app/containers/IndicatorNew/index.js +++ b/app/containers/IndicatorNew/index.js @@ -180,20 +180,17 @@ export class IndicatorNew extends React.PureComponent { // eslint-disable-line r label: intl.formatMessage(appMessages.entities.due_dates.schedule), icon: 'reminder', fields: [ - getDateField( - intl.formatMessage, - 'start_date', - false, - 'start_date', - false, - false, - (field, formData) => + getDateField({ + formatMessage: intl.formatMessage, + attribute: 'start_date', + label: 'start_date', + modifyFieldAttributes: (field, formData) => modifyStartDateField( field, this.props.isRepeat(formData), this.props.intl, - ) - ), + ), + }), getCheckboxField( intl.formatMessage, 'repeat', @@ -202,19 +199,18 @@ export class IndicatorNew extends React.PureComponent { // eslint-disable-line r intl.formatMessage, (formData) => !this.props.isRepeat(formData) ), - getDateField( - intl.formatMessage, - 'end_date', - false, - 'end_date', - (value, formData) => + getDateField({ + formatMessage: intl.formatMessage, + attribute: 'end_date', + label: 'end_date', + dynamicValidators: (value, formData) => this.props.onEndDateChange( value, formData, intl.formatMessage, ), - (formData) => !this.props.isRepeat(formData), - ), + isFieldDisabled: (formData) => !this.props.isRepeat(formData), + }), renderUserControl( users, intl.formatMessage(appMessages.attributes.manager_id.indicators), diff --git a/app/utils/formik.js b/app/utils/formik.js index d4375a6d..880c0650 100644 --- a/app/utils/formik.js +++ b/app/utils/formik.js @@ -548,15 +548,15 @@ export const getTextareaField = (formatMessage, attribute = 'description') => ge attribute, }); -export const getDateField = ( +export const getDateField = ({ formatMessage, attribute, required = false, label, dynamicValidators, isFieldDisabled, - modifyFieldAttributes -) => { + modifyFieldAttributes, +}) => { const field = getFormField({ formatMessage, controlType: 'date',