@@ -16,7 +16,8 @@ import {
16
16
DayView ,
17
17
DayViewHour ,
18
18
DayViewHourSegment ,
19
- DayViewEvent
19
+ DayViewEvent ,
20
+ ViewPeriod
20
21
} from 'calendar-utils' ;
21
22
import { Subject } from 'rxjs/Subject' ;
22
23
import { Subscription } from 'rxjs/Subscription' ;
@@ -28,6 +29,13 @@ import { CalendarEventTimesChangedEvent } from '../common/calendar-event-times-c
28
29
import { CalendarUtils } from '../common/calendar-utils.provider' ;
29
30
import { validateEvents } from '../common/util' ;
30
31
32
+ export interface CalendarDayViewBeforeRenderEvent {
33
+ body : {
34
+ hourGrid : DayViewHour [ ] ;
35
+ } ;
36
+ period : ViewPeriod ;
37
+ }
38
+
31
39
/**
32
40
* @hidden
33
41
*/
@@ -222,32 +230,30 @@ export class CalendarDayViewComponent implements OnChanges, OnInit, OnDestroy {
222
230
* Called when an event title is clicked
223
231
*/
224
232
@Output ( )
225
- eventClicked : EventEmitter < { event : CalendarEvent } > = new EventEmitter < {
233
+ eventClicked = new EventEmitter < {
226
234
event : CalendarEvent ;
227
235
} > ( ) ;
228
236
229
237
/**
230
238
* Called when an hour segment is clicked
231
239
*/
232
240
@Output ( )
233
- hourSegmentClicked : EventEmitter < { date : Date } > = new EventEmitter < {
241
+ hourSegmentClicked = new EventEmitter < {
234
242
date : Date ;
235
243
} > ( ) ;
236
244
237
245
/**
238
246
* Called when an event is resized or dragged and dropped
239
247
*/
240
248
@Output ( )
241
- eventTimesChanged : EventEmitter <
242
- CalendarEventTimesChangedEvent
243
- > = new EventEmitter < CalendarEventTimesChangedEvent > ( ) ;
249
+ eventTimesChanged = new EventEmitter < CalendarEventTimesChangedEvent > ( ) ;
244
250
245
251
/**
246
252
* An output that will be called before the view is rendered for the current day.
247
- * If you add the `cssClass` property to a segment it will add that class to the hour segment in the template
253
+ * If you add the `cssClass` property to an hour grid segment it will add that class to the hour segment in the template
248
254
*/
249
255
@Output ( )
250
- beforeViewRender : EventEmitter < { body : DayViewHour [ ] } > = new EventEmitter ( ) ;
256
+ beforeViewRender = new EventEmitter < CalendarDayViewBeforeRenderEvent > ( ) ;
251
257
252
258
/**
253
259
* @hidden
@@ -450,9 +456,7 @@ export class CalendarDayViewComponent implements OnChanges, OnInit, OnDestroy {
450
456
minute : this . dayEndMinute
451
457
}
452
458
} ) ;
453
- this . beforeViewRender . emit ( {
454
- body : this . hours
455
- } ) ;
459
+ this . emitBeforeViewRender ( ) ;
456
460
}
457
461
458
462
private refreshView ( ) : void {
@@ -471,10 +475,22 @@ export class CalendarDayViewComponent implements OnChanges, OnInit, OnDestroy {
471
475
eventWidth : this . eventWidth ,
472
476
segmentHeight : this . hourSegmentHeight
473
477
} ) ;
478
+ this . emitBeforeViewRender ( ) ;
474
479
}
475
480
476
481
private refreshAll ( ) : void {
477
482
this . refreshHourGrid ( ) ;
478
483
this . refreshView ( ) ;
479
484
}
485
+
486
+ private emitBeforeViewRender ( ) : void {
487
+ if ( this . hours && this . view ) {
488
+ this . beforeViewRender . emit ( {
489
+ body : {
490
+ hourGrid : this . hours
491
+ } ,
492
+ period : this . view . period
493
+ } ) ;
494
+ }
495
+ }
480
496
}
0 commit comments