@@ -22,7 +22,10 @@ import {
22
22
import { ResizeEvent } from 'angular-resizable-element' ;
23
23
import { CalendarDragHelper } from '../common/calendar-drag-helper.provider' ;
24
24
import { CalendarResizeHelper } from '../common/calendar-resize-helper.provider' ;
25
- import { CalendarEventTimesChangedEvent } from '../common/calendar-event-times-changed-event.interface' ;
25
+ import {
26
+ CalendarEventTimesChangedEvent ,
27
+ CalendarEventTimesChangedEventType
28
+ } from '../common/calendar-event-times-changed-event.interface' ;
26
29
import { CalendarUtils } from '../common/calendar-utils.provider' ;
27
30
import { validateEvents , trackByIndex , roundToNearest } from '../common/util' ;
28
31
import { DateAdapter } from '../../date-adapters/date-adapter' ;
@@ -59,13 +62,20 @@ export interface CalendarWeekViewBeforeRenderEvent {
59
62
[locale]="locale"
60
63
[customTemplate]="headerTemplate"
61
64
(dayHeaderClicked)="dayHeaderClicked.emit($event)"
62
- (eventDropped)="eventTimesChanged.emit($event)">
65
+ (eventDropped)="eventTimesChanged.emit({
66
+ event: $event.event,
67
+ newStart: $event.newStart,
68
+ type: CalendarEventTimesChangedEventType.Drop
69
+ })">
63
70
</mwl-calendar-week-view-header>
64
71
<div
65
72
#weekEventsContainer
66
73
mwlDroppable
67
74
(drop)="eventDroppedWithinContainer = true">
68
- <div *ngFor="let eventRow of view.eventRows; trackBy:trackByIndex" #eventRowContainer class="cal-events-row">
75
+ <div
76
+ *ngFor="let eventRow of view.eventRows; trackBy:trackByIndex"
77
+ #eventRowContainer
78
+ class="cal-events-row">
69
79
<div
70
80
*ngFor="let weekEvent of eventRow.row; trackBy:trackByEventId"
71
81
#event
@@ -77,7 +87,10 @@ export interface CalendarWeekViewBeforeRenderEvent {
77
87
[style.width]="((100 / days.length) * weekEvent.span) + '%'"
78
88
[style.marginLeft]="((100 / days.length) * weekEvent.offset) + '%'"
79
89
mwlResizable
80
- [resizeEdges]="{left: weekEvent.event?.resizable?.beforeStart, right: weekEvent.event?.resizable?.afterEnd}"
90
+ [resizeEdges]="{
91
+ left: weekEvent.event?.resizable?.beforeStart,
92
+ right: weekEvent.event?.resizable?.afterEnd
93
+ }"
81
94
[resizeSnapGrid]="{left: dayColumnWidth, right: dayColumnWidth}"
82
95
[validateResize]="validateResize"
83
96
(resizeStart)="resizeStarted(weekEventsContainer, weekEvent, $event)"
@@ -86,7 +99,10 @@ export interface CalendarWeekViewBeforeRenderEvent {
86
99
mwlDraggable
87
100
dragActiveClass="cal-drag-active"
88
101
[dropData]="{event: weekEvent.event}"
89
- [dragAxis]="{x: weekEvent.event.draggable && currentResizes.size === 0, y: !snapDraggedEvents && weekEvent.event.draggable && currentResizes.size === 0}"
102
+ [dragAxis]="{
103
+ x: weekEvent.event.draggable && currentResizes.size === 0,
104
+ y: !snapDraggedEvents && weekEvent.event.draggable && currentResizes.size === 0
105
+ }"
90
106
[dragSnapGrid]="snapDraggedEvents ? {x: dayColumnWidth} : {}"
91
107
[validateDrag]="snapDraggedEvents ? validateDrag : false"
92
108
(dragPointerDown)="dragStarted(weekEventsContainer, event)"
@@ -255,6 +271,11 @@ export class CalendarWeekViewComponent implements OnChanges, OnInit, OnDestroy {
255
271
*/
256
272
dayColumnWidth : number ;
257
273
274
+ /**
275
+ * @hidden
276
+ */
277
+ CalendarEventTimesChangedEventType = CalendarEventTimesChangedEventType ;
278
+
258
279
/**
259
280
* @hidden
260
281
*/
@@ -388,7 +409,12 @@ export class CalendarWeekViewComponent implements OnChanges, OnInit, OnDestroy {
388
409
newEnd = this . dateAdapter . addDays ( newEnd , daysDiff ) ;
389
410
}
390
411
391
- this . eventTimesChanged . emit ( { newStart, newEnd, event : weekEvent . event } ) ;
412
+ this . eventTimesChanged . emit ( {
413
+ newStart,
414
+ newEnd,
415
+ event : weekEvent . event ,
416
+ type : CalendarEventTimesChangedEventType . Resize
417
+ } ) ;
392
418
this . currentResizes . delete ( weekEvent ) ;
393
419
}
394
420
@@ -433,7 +459,12 @@ export class CalendarWeekViewComponent implements OnChanges, OnInit, OnDestroy {
433
459
newEnd = this . dateAdapter . addDays ( weekEvent . event . end , daysDragged ) ;
434
460
}
435
461
436
- this . eventTimesChanged . emit ( { newStart, newEnd, event : weekEvent . event } ) ;
462
+ this . eventTimesChanged . emit ( {
463
+ newStart,
464
+ newEnd,
465
+ event : weekEvent . event ,
466
+ type : CalendarEventTimesChangedEventType . Drag
467
+ } ) ;
437
468
}
438
469
}
439
470
0 commit comments