11import React from 'react' ;
2- import { findDOMNode } from 'react-dom' ;
3- import EventCell from './EventCell' ;
4- import getHeight from 'dom-helpers/query/height' ;
5- import { accessor } from './utils/propTypes' ;
6- import { segStyle } from './utils/eventLevels' ;
7- import { isSelected } from './utils/selection' ;
8-
9- let propTypes = {
10- segments : React . PropTypes . array ,
11- end : React . PropTypes . instanceOf ( Date ) ,
12- start : React . PropTypes . instanceOf ( Date ) ,
13-
14- titleAccessor : accessor ,
15- allDayAccessor : accessor ,
16- startAccessor : accessor ,
17- endAccessor : accessor ,
18-
19- onEventClick : React . PropTypes . func
20- } ;
2+ import EventRowMixin from './EventRowMixin' ;
213
224
235let EventRow = React . createClass ( {
246
257 displayName : 'EventRow' ,
268
27- propTypes,
28-
29- getDefaultProps ( ) {
30- return {
31- segments : [ ] ,
32- selected : [ ] ,
33- slots : 7
34- } ;
9+ propTypes : {
10+ segments : React . PropTypes . array
3511 } ,
3612
13+ mixins : [ EventRowMixin ] ,
14+
3715 render ( ) {
38- let { segments, start , end } = this . props ;
16+ let { segments } = this . props ;
3917
4018 let lastEnd = 1 ;
4119
@@ -46,7 +24,7 @@ let EventRow = React.createClass({
4624 let key = '_lvl_' + li ;
4725 let gap = left - lastEnd ;
4826
49- let content = this . renderEvent ( event , start , end )
27+ let content = this . renderEvent ( event )
5028
5129 if ( gap )
5230 row . push ( this . renderSpan ( gap , key + '_gap' ) )
@@ -62,42 +40,6 @@ let EventRow = React.createClass({
6240 }
6341 </ div >
6442 )
65- } ,
66-
67- renderEvent ( event , start , end , props = { } ) {
68- let {
69- eventPropGetter, selected, startAccessor, endAccessor
70- , titleAccessor, eventComponent, onSelect } = this . props ;
71-
72-
73- return (
74- < EventCell
75- event = { event }
76- eventPropGetter = { eventPropGetter }
77- onSelect = { onSelect }
78- selected = { isSelected ( event , selected ) }
79- startAccessor = { startAccessor }
80- endAccessor = { endAccessor }
81- titleAccessor = { titleAccessor }
82- slotStart = { start }
83- slotEnd = { end }
84- component = { eventComponent }
85- />
86- )
87- } ,
88-
89- renderSpan ( len , key , content = ' ' ) {
90- let { slots } = this . props ;
91-
92- return (
93- < div key = { key } className = 'rbc-row-segment' style = { segStyle ( Math . abs ( len ) , slots ) } >
94- { content }
95- </ div >
96- )
97- } ,
98-
99- getRowHeight ( ) {
100- getHeight ( findDOMNode ( this ) )
10143 }
10244} ) ;
10345
0 commit comments