Skip to content

Commit adc2078

Browse files
danboveyjquense
authored andcommitted
feat: add timeGutterHeaderComponent (#874)
* Add timeGutterHeaderComponent Closes #853 * Make timeGutter component option act the same as other component options * Add story for timeGutterHeader * Add timeGutterHeader to Calendar propTypes
1 parent db322f5 commit adc2078

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed

src/Calendar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,7 @@ class Calendar extends React.Component {
646646
eventWrapper: elementType,
647647
dayWrapper: elementType,
648648
dateCellWrapper: elementType,
649+
timeGutterHeader: elementType,
649650

650651
toolbar: elementType,
651652

src/TimeGrid.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ export default class TimeGrid extends Component {
272272
eventComponent={components.event}
273273
eventWrapperComponent={components.eventWrapper}
274274
dateCellWrapperComponent={components.dateCellWrapper}
275+
timeGutterHeaderComponent={components.timeGutterHeader}
275276
onSelectSlot={this.handleSelectAllDaySlot}
276277
onSelectEvent={this.handleSelectAlldayEvent}
277278
onDoubleClickEvent={this.props.onDoubleClickEvent}

src/TimeGridHeader.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class TimeGridHeader extends React.Component {
4545
eventComponent: elementType,
4646
eventWrapperComponent: elementType.isRequired,
4747
dateCellWrapperComponent: elementType,
48+
timeGutterHeaderComponent: elementType,
4849

4950
onSelectSlot: PropTypes.func,
5051
onSelectEvent: PropTypes.func,
@@ -148,6 +149,7 @@ class TimeGridHeader extends React.Component {
148149
eventComponent,
149150
dateCellWrapperComponent,
150151
eventWrapperComponent,
152+
timeGutterHeaderComponent: TimeGutterHeader,
151153
} = this.props
152154

153155
let style = {}
@@ -161,7 +163,9 @@ class TimeGridHeader extends React.Component {
161163
style={style}
162164
className={cn('rbc-time-header', isOverflowing && 'rbc-overflowing')}
163165
>
164-
<div className="rbc-label rbc-time-header-gutter" style={{ width }} />
166+
<div className="rbc-label rbc-time-header-gutter" style={{ width }}>
167+
{TimeGutterHeader && <TimeGutterHeader />}
168+
</div>
165169

166170
<div className="rbc-time-header-content">
167171
<div className="rbc-row rbc-time-header-cell">

stories/Calendar.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,3 +655,22 @@ storiesOf('module.Calendar.week', module)
655655
</div>
656656
)
657657
})
658+
.add('custom time gutter header', () => {
659+
const TimeGutter = () => <p>Custom gutter text</p>
660+
661+
return (
662+
<div style={{ height: 600 }}>
663+
<Calendar
664+
popup
665+
events={demoEvents}
666+
onSelectEvent={action('event selected')}
667+
defaultDate={new Date(2015, 3, 1)}
668+
defaultView="week"
669+
views={['week', 'day']}
670+
components={{
671+
timeGutterHeader: TimeGutter,
672+
}}
673+
/>
674+
</div>
675+
)
676+
})

0 commit comments

Comments
 (0)