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 currentFetchID = 0;
|
||||||
var pendingSourceCnt = 0;
|
var pendingSourceCnt = 0;
|
||||||
var loadingLevel = 0;
|
var loadingLevel = 0;
|
||||||
var dynamicEventSource = [];
|
|
||||||
var cache = [];
|
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) {
|
function addEventSource(source) {
|
||||||
|
@ -175,8 +175,8 @@ function EventManager(options, sources) {
|
||||||
normalizeEvent(event);
|
normalizeEvent(event);
|
||||||
if (!event.source) {
|
if (!event.source) {
|
||||||
if (stick) {
|
if (stick) {
|
||||||
dynamicEventSource.push(event);
|
sources[0].push(event);
|
||||||
event.source = dynamicEventSource;
|
event.source = sources[0];
|
||||||
}
|
}
|
||||||
cache.push(event);
|
cache.push(event);
|
||||||
}
|
}
|
||||||
|
@ -205,6 +205,7 @@ function EventManager(options, sources) {
|
||||||
for (var i=0; i<sources.length; i++) {
|
for (var i=0; i<sources.length; i++) {
|
||||||
if (typeof sources[i] == 'object') {
|
if (typeof sources[i] == 'object') {
|
||||||
sources[i] = $.grep(sources[i], filter, true);
|
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