Skip to content

Commit c08071d

Browse files
authored
Merge pull request arqex#735 from arqex/add-default-render-props
Add default render props
2 parents e1e4a02 + b30b25e commit c08071d

File tree

3 files changed

+15
-26
lines changed

3 files changed

+15
-26
lines changed

src/datetime/DateTime.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ export default class Datetime extends React.Component {
7373
strictParsing: true,
7474
closeOnSelect: false,
7575
closeOnTab: true,
76-
closeOnClickOutside: true
76+
closeOnClickOutside: true,
77+
renderView: ( _, renderFunc ) => renderFunc(),
7778
}
7879

7980
// Make moment accessible through the Datetime class
@@ -123,10 +124,7 @@ export default class Datetime extends React.Component {
123124
}
124125

125126
renderView() {
126-
if ( this.props.renderView ) {
127-
return this.props.renderView( this.state.currentView, this._renderCalendar );
128-
}
129-
return this._renderCalendar();
127+
return this.props.renderView( this.state.currentView, this._renderCalendar );
130128
}
131129

132130
_renderCalendar = () => {

src/datetime/DaysView.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import ViewNavigation from './ViewNavigation';
33

44
export default class DaysView extends React.Component {
55
static defaultProps = {
6-
isValidDate: () => true
6+
isValidDate: () => true,
7+
renderDay: ( props, date ) => <td { ...props }>{ date.date() }</td>,
78
}
89

910
render() {
@@ -110,14 +111,8 @@ export default class DaysView extends React.Component {
110111

111112
dayProps.className = className;
112113

113-
if ( this.props.renderDay ) {
114-
return this.props.renderDay(
115-
dayProps, date.clone(), selectedDate && selectedDate.clone()
116-
);
117-
}
118-
119-
return (
120-
<td { ...dayProps }>{ date.date() }</td>
114+
return this.props.renderDay(
115+
dayProps, date.clone(), selectedDate && selectedDate.clone()
121116
);
122117
}
123118

src/datetime/YearsView.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import React from 'react';
22
import ViewNavigation from './ViewNavigation';
33

44
export default class YearsView extends React.Component {
5+
static defaultProps = {
6+
renderYear: ( props, year ) => <td { ...props }>{ year }</td>,
7+
};
8+
59
render() {
610
return (
711
<div className="rdtYears">
@@ -66,18 +70,10 @@ export default class YearsView extends React.Component {
6670

6771
let props = {key: year, className, 'data-value': year, onClick };
6872

69-
if ( this.props.renderYear ) {
70-
return this.props.renderYear(
71-
props,
72-
year,
73-
this.props.selectedDate && this.props.selectedDate.clone()
74-
);
75-
}
76-
77-
return (
78-
<td { ...props }>
79-
{ year }
80-
</td>
73+
return this.props.renderYear(
74+
props,
75+
year,
76+
this.props.selectedDate && this.props.selectedDate.clone()
8177
);
8278
}
8379

0 commit comments

Comments
 (0)