Skip to content

Commit 2f11094

Browse files
author
Matt Lewis
committed
feat(weekView): introduce the dayHeaderClicked output
BREAKING CHANGE: the `dayClicked` output has been replaced with the `dayHeaderClicked` output. To migrate: Before: ``` (dayClicked)="clickedDate = $event.date" ``` After: ``` (dayHeaderClicked)="clickedDate = $event.day.date" ``` Closes #222
1 parent 585c73e commit 2f11094

File tree

6 files changed

+13
-13
lines changed

6 files changed

+13
-13
lines changed

demos/demo-modules/clickable-days/template.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*ngSwitchCase="'week'"
2020
[viewDate]="viewDate"
2121
[events]="events"
22-
(dayClicked)="clickedDate = $event.date">
22+
(dayHeaderClicked)="clickedDate = $event.day.date">
2323
</mwl-calendar-week-view>
2424
<mwl-calendar-day-view
2525
*ngSwitchCase="'day'"

demos/demo-modules/context-menu/template.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
</div>
4141
</ng-template>
4242

43-
<ng-template #weekHeaderTemplate let-days="days" let-locale="locale" let-dayClicked="dayClicked">
43+
<ng-template #weekHeaderTemplate let-days="days" let-locale="locale" let-dayHeaderClicked="dayHeaderClicked">
4444
<div class="cal-day-headers">
4545
<div
4646
class="cal-header"
@@ -50,7 +50,7 @@
5050
[class.cal-future]="day.isFuture"
5151
[class.cal-weekend]="day.isWeekend"
5252
[class.cal-drag-over]="day.dragOver"
53-
(click)="dayClicked.emit({date: day.date})"
53+
(click)="dayHeaderClicked.emit({day: day})"
5454
[contextMenu]="basicMenu"
5555
[contextMenuSubject]="day.date">
5656
<b>{{ day.date | calendarDate:'weekViewColumnHeader':locale }}</b><br>

demos/demo-modules/navigating-between-views/template.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
*ngSwitchCase="'week'"
2323
[viewDate]="viewDate"
2424
[events]="events"
25-
(dayClicked)="viewDate = $event.date; view = 'day'">
25+
(dayHeaderClicked)="viewDate = $event.day.date; view = 'day'">
2626
</mwl-calendar-week-view>
2727
<mwl-calendar-day-view
2828
*ngSwitchCase="'day'"

src/components/week/calendarWeekView.component.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export interface WeekViewEventResize {
5050
[days]="days"
5151
[locale]="locale"
5252
[customTemplate]="headerTemplate"
53-
(dayClicked)="dayClicked.emit($event)"
53+
(dayHeaderClicked)="dayHeaderClicked.emit($event)"
5454
(eventDropped)="eventTimesChanged.emit($event)">
5555
</mwl-calendar-week-view-header>
5656
<div *ngFor="let eventRow of eventRows" #eventRowContainer class="cal-events-row">
@@ -151,9 +151,9 @@ export class CalendarWeekViewComponent implements OnChanges, OnInit, OnDestroy {
151151
@Input() weekendDays: number[];
152152

153153
/**
154-
* Called when a header week day is clicked
154+
* Called when a header week day is clicked. Adding a `cssClass` property on `$event.day` will add that class to the header element
155155
*/
156-
@Output() dayClicked: EventEmitter<{date: Date}> = new EventEmitter<{date: Date}>();
156+
@Output() dayHeaderClicked: EventEmitter<{day: WeekDay}> = new EventEmitter<{day: WeekDay}>();
157157

158158
/**
159159
* Called when the event title is clicked

src/components/week/calendarWeekViewHeader.component.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { CalendarEvent, WeekDay } from 'calendar-utils';
1515
[class.cal-weekend]="day.isWeekend"
1616
[class.cal-drag-over]="day.dragOver"
1717
[ngClass]="day.cssClass"
18-
(mwlClick)="dayClicked.emit({date: day.date})"
18+
(mwlClick)="dayHeaderClicked.emit({day: day})"
1919
mwlDroppable
2020
(dragEnter)="day.dragOver = true"
2121
(dragLeave)="day.dragOver = false"
@@ -27,7 +27,7 @@ import { CalendarEvent, WeekDay } from 'calendar-utils';
2727
</ng-template>
2828
<ng-template
2929
[ngTemplateOutlet]="customTemplate || defaultTemplate"
30-
[ngTemplateOutletContext]="{days: days, locale: locale, dayClicked: dayClicked, eventDropped: eventDropped}">
30+
[ngTemplateOutletContext]="{days: days, locale: locale, dayHeaderClicked: dayHeaderClicked, eventDropped: eventDropped}">
3131
</ng-template>
3232
`
3333
})
@@ -39,7 +39,7 @@ export class CalendarWeekViewHeaderComponent {
3939

4040
@Input() customTemplate: TemplateRef<any>;
4141

42-
@Output() dayClicked: EventEmitter<{date: Date}> = new EventEmitter<{date: Date}>();
42+
@Output() dayHeaderClicked: EventEmitter<{day: WeekDay}> = new EventEmitter<{day: WeekDay}>();
4343

4444
@Output() eventDropped: EventEmitter<{event: CalendarEvent, newStart: Date}> = new EventEmitter<{event: CalendarEvent, newStart: Date}>();
4545

test/calendarWeekView.component.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ describe('calendarWeekView component', () => {
8484
fixture.destroy();
8585
});
8686

87-
it('should emit on the dayClicked output', () => {
87+
it('should emit on the dayHeaderClicked output', () => {
8888
const fixture: ComponentFixture<CalendarWeekViewComponent> = TestBed.createComponent(CalendarWeekViewComponent);
8989
fixture.componentInstance.viewDate = new Date('2016-06-29');
9090
fixture.componentInstance.ngOnChanges({viewDate: {}});
9191
fixture.detectChanges();
92-
fixture.componentInstance.dayClicked.subscribe(val => {
92+
fixture.componentInstance.dayHeaderClicked.subscribe(val => {
9393
expect(val).to.deep.equal({
94-
date: fixture.componentInstance.days[0].date
94+
day: fixture.componentInstance.days[0]
9595
});
9696
});
9797
fixture.nativeElement.querySelector('.cal-header').click();

0 commit comments

Comments
 (0)