Redesign form/fields/date component

[MAILPOET-2787]
This commit is contained in:
Ján Mikláš
2020-09-09 14:22:45 +02:00
committed by Veljko V
parent 73be596b64
commit f549fb6af7

View File

@@ -2,6 +2,7 @@ import React from 'react';
import moment from 'moment'; import moment from 'moment';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import classnames from 'classnames'; import classnames from 'classnames';
import Select from "../../common/form/select/select";
function FormFieldDateYear(props) { function FormFieldDateYear(props) {
const yearsRange = 100; const yearsRange = 100;
@@ -25,14 +26,14 @@ function FormFieldDateYear(props) {
)); ));
} }
return ( return (
<select <Select
isMinWidth
name={`${props.name}[year]`} name={`${props.name}[year]`}
value={props.year} value={props.year}
onChange={props.onValueChange} onChange={props.onValueChange}
className={classnames({ mailpoet_date_year: props.addDefaultClasses })}
> >
{ years } { years }
</select> </Select>
); );
} }
@@ -44,7 +45,6 @@ FormFieldDateYear.propTypes = {
PropTypes.string, PropTypes.string,
PropTypes.number, PropTypes.number,
]).isRequired, ]).isRequired,
addDefaultClasses: PropTypes.bool.isRequired,
}; };
function FormFieldDateMonth(props) { function FormFieldDateMonth(props) {
@@ -67,14 +67,14 @@ function FormFieldDateMonth(props) {
)); ));
} }
return ( return (
<select <Select
isMinWidth
name={`${props.name}[month]`} name={`${props.name}[month]`}
value={props.month} value={props.month}
onChange={props.onValueChange} onChange={props.onValueChange}
className={classnames({ mailpoet_date_month: props.addDefaultClasses })}
> >
{ months } { months }
</select> </Select>
); );
} }
@@ -87,7 +87,6 @@ FormFieldDateMonth.propTypes = {
PropTypes.number, PropTypes.number,
]).isRequired, ]).isRequired,
monthNames: PropTypes.arrayOf(PropTypes.string).isRequired, monthNames: PropTypes.arrayOf(PropTypes.string).isRequired,
addDefaultClasses: PropTypes.bool.isRequired,
}; };
function FormFieldDateDay(props) { function FormFieldDateDay(props) {
@@ -111,14 +110,14 @@ function FormFieldDateDay(props) {
} }
return ( return (
<select <Select
isMinWidth
name={`${props.name}[day]`} name={`${props.name}[day]`}
value={props.day} value={props.day}
onChange={props.onValueChange} onChange={props.onValueChange}
className={classnames({ mailpoet_date_day: props.addDefaultClasses })}
> >
{ days } { days }
</select> </Select>
); );
} }
@@ -130,7 +129,6 @@ FormFieldDateDay.propTypes = {
PropTypes.string, PropTypes.string,
PropTypes.number, PropTypes.number,
]).isRequired, ]).isRequired,
addDefaultClasses: PropTypes.bool.isRequired,
}; };
class FormFieldDate extends React.Component { class FormFieldDate extends React.Component {
@@ -260,7 +258,6 @@ class FormFieldDate extends React.Component {
onValueChange={this.onValueChange} onValueChange={this.onValueChange}
key="year" key="year"
name={this.props.field.name} name={this.props.field.name}
addDefaultClasses={this.props.addDefaultClasses}
year={this.state.year} year={this.state.year}
placeholder={this.props.field.year_placeholder} placeholder={this.props.field.year_placeholder}
/> />
@@ -272,7 +269,6 @@ class FormFieldDate extends React.Component {
onValueChange={this.onValueChange} onValueChange={this.onValueChange}
key="month" key="month"
name={this.props.field.name} name={this.props.field.name}
addDefaultClasses={this.props.addDefaultClasses}
month={this.state.month} month={this.state.month}
monthNames={monthNames} monthNames={monthNames}
placeholder={this.props.field.month_placeholder} placeholder={this.props.field.month_placeholder}
@@ -285,7 +281,6 @@ class FormFieldDate extends React.Component {
onValueChange={this.onValueChange} onValueChange={this.onValueChange}
key="day" key="day"
name={this.props.field.name} name={this.props.field.name}
addDefaultClasses={this.props.addDefaultClasses}
day={this.state.day} day={this.state.day}
placeholder={this.props.field.day_placeholder} placeholder={this.props.field.day_placeholder}
/> />
@@ -314,11 +309,6 @@ FormFieldDate.propTypes = {
params: PropTypes.object, // eslint-disable-line react/forbid-prop-types params: PropTypes.object, // eslint-disable-line react/forbid-prop-types
}).isRequired, }).isRequired,
onValueChange: PropTypes.func.isRequired, onValueChange: PropTypes.func.isRequired,
addDefaultClasses: PropTypes.bool,
};
FormFieldDate.defaultProps = {
addDefaultClasses: false,
}; };
export default FormFieldDate; export default FormFieldDate;