Skip to content
This repository was archived by the owner on Sep 8, 2020. It is now read-only.

Commit be530c7

Browse files
committed
Merge branch 'Mordred-onchanged'
2 parents 3726a28 + 3b38e6e commit be530c7

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/calendar.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,12 @@ angular.module('ui.calendar', [])
284284
};
285285

286286
eventsWatcher.onChanged = function(event) {
287-
event._start = jQuery.fullCalendar.moment(event.start);
288-
event._end = jQuery.fullCalendar.moment(event.end);
289-
calendar.fullCalendar('updateEvent', event);
287+
var clientEvents = calendar.fullCalendar('clientEvents', event._id);
288+
for (var i = 0; i < clientEvents.length; i++) {
289+
var clientEvent = clientEvents[i];
290+
clientEvent = angular.extend(clientEvent, event);
291+
calendar.fullCalendar('updateEvent', clientEvent);
292+
}
290293
};
291294

292295
eventSourcesWatcher.subscribe(scope);

test/calendar.spec.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,20 @@ describe('uiCalendar', function () {
172172
});
173173

174174
it('should make sure that if we just change the title of the event that it updates itself', function () {
175+
var originalEvent = angular.copy(scope.events[0]);
176+
$.fn.fullCalendar.andCallFake(function(method) {
177+
if (method === 'clientEvents') {
178+
return [ originalEvent ];
179+
}
180+
});
175181
scope.events[0].title = 'change title';
176182
scope.$apply();
177183
var fullCalendarParam = $.fn.fullCalendar.mostRecentCall.args[0];
178184
var fullCalendarParam1 = $.fn.fullCalendar.mostRecentCall.args[1];
179185
expect(fullCalendarParam).toEqual('updateEvent');
180-
expect(fullCalendarParam1).toEqual(scope.events[0]);
186+
expect(fullCalendarParam1).toEqual(originalEvent);
187+
// fullCalendar 'updateEvent' need an original Event Object
188+
expect(fullCalendarParam1).toBe(originalEvent);
181189
});
182190

183191
it('should make sure that if the calendars options change then the fullcalendar method is called with the new options', function () {

0 commit comments

Comments
 (0)