1
- import { Component , Input , Output , EventEmitter } from '@angular/core' ;
1
+ import { Component , Input , Output , EventEmitter , TemplateRef } from '@angular/core' ;
2
2
import { CalendarEvent , WeekDay } from 'calendar-utils' ;
3
3
4
4
@Component ( {
5
5
selector : 'mwl-calendar-week-view-header' ,
6
- template : `
7
- <div class="cal-day-headers">
8
- <div
9
- class="cal-header"
10
- *ngFor="let day of days"
11
- [class.cal-past]="day.isPast"
12
- [class.cal-today]="day.isToday"
13
- [class.cal-future]="day.isFuture"
14
- [class.cal-weekend]="day.isWeekend"
15
- [class.cal-drag-over]="day.dragOver"
16
- (click)="dayClicked.emit({date: day.date})"
17
- mwlDroppable
18
- (dragEnter)="day.dragOver = true"
19
- (dragLeave)="day.dragOver = false"
20
- (drop)="day.dragOver = false; eventDropped.emit({event: $event.dropData.event, newStart: day.date})">
21
- <b>{{ day.date | calendarDate:'weekViewColumnHeader':locale }}</b><br>
22
- <span>{{ day.date | calendarDate:'weekViewColumnSubHeader':locale }}</span>
6
+ template : `
7
+ <template #defaultTemplate>
8
+ <div class="cal-day-headers">
9
+ <div
10
+ class="cal-header"
11
+ *ngFor="let day of days"
12
+ [class.cal-past]="day.isPast"
13
+ [class.cal-today]="day.isToday"
14
+ [class.cal-future]="day.isFuture"
15
+ [class.cal-weekend]="day.isWeekend"
16
+ [class.cal-drag-over]="day.dragOver"
17
+ (click)="dayClicked.emit({date: day.date})"
18
+ mwlDroppable
19
+ (dragEnter)="day.dragOver = true"
20
+ (dragLeave)="day.dragOver = false"
21
+ (drop)="day.dragOver = false; eventDropped.emit({event: $event.dropData.event, newStart: day.date})">
22
+ <b>{{ day.date | calendarDate:'weekViewColumnHeader':locale }}</b><br>
23
+ <span>{{ day.date | calendarDate:'weekViewColumnSubHeader':locale }}</span>
24
+ </div>
23
25
</div>
24
- </div>
26
+ </template>
27
+ <template
28
+ [ngTemplateOutlet]="customTemplate || defaultTemplate"
29
+ [ngOutletContext]="{days: days, locale: locale, dayClicked: dayClicked, eventDropped: eventDropped}">
30
+ </template>
25
31
`
26
32
} )
27
33
export class CalendarWeekViewHeaderComponent {
@@ -30,6 +36,8 @@ export class CalendarWeekViewHeaderComponent {
30
36
31
37
@Input ( ) locale : string ;
32
38
39
+ @Input ( ) customTemplate : TemplateRef < any > ;
40
+
33
41
@Output ( ) dayClicked : EventEmitter < { date : Date } > = new EventEmitter < { date : Date } > ( ) ;
34
42
35
43
@Output ( ) eventDropped : EventEmitter < { event : CalendarEvent , newStart : Date } > = new EventEmitter < { event : CalendarEvent , newStart : Date } > ( ) ;
0 commit comments