Skip to content

Commit

Permalink
fixed issue 757 (removeEvents bug)
Browse files Browse the repository at this point in the history
  • Loading branch information
arshaw committed Jan 1, 2011
1 parent 61d663d commit 679b9e4
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/EventManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ function EventManager(options, sources) {
var currentFetchID = 0;
var pendingSourceCnt = 0;
var loadingLevel = 0;
var dynamicEventSource = [];
var cache = [];


Expand Down Expand Up @@ -111,7 +110,8 @@ function EventManager(options, sources) {
-----------------------------------------------------------------------------*/


sources.push(dynamicEventSource);
// first event source is reserved for "sticky" events
sources.unshift([]);


function addEventSource(source) {
Expand Down Expand Up @@ -175,8 +175,8 @@ function EventManager(options, sources) {
normalizeEvent(event);
if (!event.source) {
if (stick) {
dynamicEventSource.push(event);
event.source = dynamicEventSource;
sources[0].push(event);
event.source = sources[0];
}
cache.push(event);
}
Expand Down Expand Up @@ -205,6 +205,7 @@ function EventManager(options, sources) {
for (var i=0; i<sources.length; i++) {
if (typeof sources[i] == 'object') {
sources[i] = $.grep(sources[i], filter, true);
// TODO: event objects' sources will no longer be correct reference :(
}
}
}
Expand Down
96 changes: 96 additions & 0 deletions tests/issue_757_removeEvents.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<script type='text/javascript' src='../src/_loader.js?debug'></script>
<script type='text/javascript'>

$(document).ready(function() {

var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();

$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,basicWeek,agendaDay,basicDay'
},
editable: true,
//isRTL: true,
year: 2011,
month: 0,
events: [
{
title: 'All Day Event',
start: new Date(y, m, 1)
},
{
title: 'Long Event',
start: new Date(y, m, d-5),
end: new Date(y, m, d-2)
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d-3, 16, 0),
allDay: false
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d+4, 16, 0),
allDay: false
},
{
title: 'Meeting',
start: new Date(y, m, d, 10, 30),
allDay: false
},
{
title: 'Lunch',
start: new Date(y, m, d, 12, 5),
end: new Date(y, m, d, 14, 43),
allDay: false
},
{
title: 'Birthday Party',
start: new Date(y, m, d+1, 19, 0),
end: new Date(y, m, d+1, 22, 30),
allDay: false
},
{
title: 'Click for Google',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
url: 'http://google.com/'
}
]
});

});

</script>
<style type='text/css'>

body {
margin-top: 40px;
text-align: center;
font-size: 13px;
font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
}

#calendar {
width: 900px;
margin: 0 auto;
}

</style>
</head>
<body>
<button onclick="$('#calendar').fullCalendar('removeEvents')">removeEvents</button>
<button onclick="$('#calendar').fullCalendar('renderEvent', { title:'hey', start:'2011-01-09' }, true)">addEvent (with stick)</button>
<div id='calendar'></div>
</body>
</html>

0 comments on commit 679b9e4

Please sign in to comment.