fixed issue 757 (removeEvents bug)
This commit is contained in:
parent
61d663d461
commit
679b9e48d6
|
@ -28,7 +28,6 @@ function EventManager(options, sources) {
|
|||
var currentFetchID = 0;
|
||||
var pendingSourceCnt = 0;
|
||||
var loadingLevel = 0;
|
||||
var dynamicEventSource = [];
|
||||
var cache = [];
|
||||
|
||||
|
||||
|
@ -111,7 +110,8 @@ function EventManager(options, sources) {
|
|||
-----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
sources.push(dynamicEventSource);
|
||||
// first event source is reserved for "sticky" events
|
||||
sources.unshift([]);
|
||||
|
||||
|
||||
function addEventSource(source) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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 :(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
96
tests/issue_757_removeEvents.html
Normal file
96
tests/issue_757_removeEvents.html
Normal file
|
@ -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>
|
Loading…
Reference in a new issue