Skip to content

Commit 490ca5c

Browse files
authored
0.26.4
2 parents ec8d7af + 98677fb commit 490ca5c

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres (more or less) to [Semantic Versioning](http://semver.o
77

88
## Unreleased
99

10+
# 0.26.4
11+
12+
* fix `react-calendar-timeline` not working with `react-hot-loader` #607 @ilaiwi + @westn
13+
1014
## 0.26.3
1115

1216
* add documentation for `onItemDeselect` #350 @ilaiwi

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-calendar-timeline",
3-
"version": "0.26.3",
3+
"version": "0.26.4",
44
"description": "react calendar timeline",
55
"main": "lib/index.js",
66
"scripts": {

src/lib/Timeline.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import Columns from './columns/Columns'
88
import GroupRows from './row/GroupRows'
99
import ScrollElement from './scroll/ScrollElement'
1010
import MarkerCanvas from './markers/MarkerCanvas'
11-
1211
import windowResizeDetector from '../resize-detector/window'
1312

1413
import {
@@ -876,7 +875,15 @@ export default class ReactCalendarTimeline extends Component {
876875
)
877876
}
878877

879-
groups
878+
/**
879+
* check if child of type TimelineHeader
880+
* refer to for explanation https://github.com/gaearon/react-hot-loader#checking-element-types
881+
*/
882+
isTimelineHeader = (child) => {
883+
if(child.type === undefined) return false
884+
return child.type.secretKey ===TimelineHeaders.secretKey
885+
}
886+
880887
childrenWithProps(
881888
canvasTimeStart,
882889
canvasTimeEnd,
@@ -918,7 +925,7 @@ export default class ReactCalendarTimeline extends Component {
918925
}
919926

920927
return React.Children.map(childArray, child => {
921-
if (child.type !== TimelineHeaders) {
928+
if (!this.isTimelineHeader(child)) {
922929
return React.cloneElement(child, childProps)
923930
} else {
924931
return null
@@ -930,7 +937,7 @@ export default class ReactCalendarTimeline extends Component {
930937
if (this.props.children) {
931938
let headerRenderer
932939
React.Children.map(this.props.children, child => {
933-
if (child.type === TimelineHeaders) {
940+
if (this.isTimelineHeader(child)) {
934941
headerRenderer = child
935942
}
936943
})

src/lib/headers/SidebarHeader.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,6 @@ SidebarWrapper.defaultProps = {
6767
children: ({ getRootProps }) => <div data-testid="sidebarHeader" {...getRootProps()} />
6868
}
6969

70+
SidebarWrapper.secretKey = "SidebarHeader"
71+
7072
export default SidebarWrapper

src/lib/headers/TimelineHeaders.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ class TimelineHeaders extends React.Component {
4848
}
4949
}
5050

51+
/**
52+
* check if child of type SidebarHeader
53+
* refer to for explanation https://github.com/gaearon/react-hot-loader#checking-element-types
54+
*/
55+
isSidebarHeader = (child) => {
56+
if(child.type === undefined) return false
57+
return child.type.secretKey ===SidebarHeader.secretKey
58+
}
59+
5160
render() {
5261
let rightSidebarHeader
5362
let leftSidebarHeader
@@ -56,7 +65,7 @@ class TimelineHeaders extends React.Component {
5665
? this.props.children.filter(c => c)
5766
: [this.props.children]
5867
React.Children.map(children, child => {
59-
if (child.type === SidebarHeader) {
68+
if (this.isSidebarHeader(child)) {
6069
if (child.props.variant === RIGHT_VARIANT) {
6170
rightSidebarHeader = child
6271
} else {
@@ -131,4 +140,6 @@ TimelineHeadersWrapper.propTypes = {
131140
calendarHeaderClassName: PropTypes.string
132141
}
133142

143+
TimelineHeadersWrapper.secretKey = "TimelineHeaders"
144+
134145
export default TimelineHeadersWrapper

0 commit comments

Comments
 (0)