mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-09-09 11:22:41 +08:00
.
This commit is contained in:
+1
-1
@@ -229,10 +229,10 @@ function Calendar(element, instanceOptions) {
|
||||
|
||||
|
||||
EventManager.call(t, options);
|
||||
ResourceManager.call(t, options);
|
||||
var isFetchNeeded = t.isFetchNeeded;
|
||||
var fetchEvents = t.fetchEvents;
|
||||
|
||||
ResourceManager.call(t, options);
|
||||
|
||||
|
||||
// Locals
|
||||
|
||||
+7
-7
@@ -515,13 +515,13 @@ function EventManager(options) { // assumed to be a calendar
|
||||
out.className = [];
|
||||
}
|
||||
|
||||
if (event.resources) {
|
||||
if (typeof event.resources == 'string') {
|
||||
event.resources = event.resources.split(/\s+/);
|
||||
}
|
||||
}else{
|
||||
event.resources = [];
|
||||
}
|
||||
// if (event.resources) {
|
||||
// if (typeof event.resources == 'string') {
|
||||
// event.resources = event.resources.split(/\s+/);
|
||||
// }
|
||||
// }else{
|
||||
// event.resources = [];
|
||||
// }
|
||||
|
||||
out.allDay = allDay;
|
||||
out.start = start;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
var ajaxDefaults = {
|
||||
dataType: 'json',
|
||||
cache: false
|
||||
};
|
||||
function ResourceManager(options) {
|
||||
var t = this;
|
||||
// exports
|
||||
@@ -94,7 +98,7 @@ function ResourceManager(options) {
|
||||
data[endParam] = Math.round(+currentView.visEnd / 1000);
|
||||
}
|
||||
}
|
||||
$.ajax($.extend({}, source, {
|
||||
$.ajax($.extend({}, ajaxDefaults, source, {
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
|
||||
@@ -166,39 +166,39 @@ function DayEventRenderer() {
|
||||
|
||||
// Generate an array of "segments" for all events.
|
||||
function buildSegments(events) {
|
||||
var resources = t.getResources();
|
||||
// var resources = t.getResources();
|
||||
|
||||
if (typeof resources === 'undefined'){
|
||||
return buildSegmentsTEMP(events); // TEMP!
|
||||
} else {
|
||||
var segments = [];
|
||||
for (var i=0; i<resources.length; i++) {
|
||||
var resourceEvents = eventsForResource(resources[i], events);
|
||||
// if (typeof resources === 'undefined'){
|
||||
// return buildSegmentsTEMP(events); // TEMP!
|
||||
// } else {
|
||||
// var segments = [];
|
||||
// for (var i=0; i<resources.length; i++) {
|
||||
// var resourceEvents = eventsForResource(resources[i], events);
|
||||
|
||||
for (var j=0; j<resourceEvents.length; j++) {
|
||||
var eventSegments = buildSegmentsForEvent(resourceEvents[j], i);
|
||||
segments.push.apply(segments, eventSegments); // append an array to an array
|
||||
// for (var j=0; j<resourceEvents.length; j++) {
|
||||
// var eventSegments = buildSegmentsForEvent(resourceEvents[j], i);
|
||||
// segments.push.apply(segments, eventSegments); // append an array to an array
|
||||
|
||||
}
|
||||
}
|
||||
return segments;
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
// return segments;
|
||||
// }
|
||||
// }
|
||||
|
||||
// TODO - move this into more generic area as is a duplicate
|
||||
//Generate an array of "segments" for all events.
|
||||
function eventsForResource(resource, events) {
|
||||
var resourceEvents = [];
|
||||
for (var i = 0; i < events.length; i++) {
|
||||
if (events[i].resources && $.inArray(resource.id, events[i].resources) >= 0) {
|
||||
resourceEvents.push(events[i])
|
||||
}
|
||||
}
|
||||
return resourceEvents;
|
||||
}
|
||||
// // TODO - move this into more generic area as is a duplicate
|
||||
// //Generate an array of "segments" for all events.
|
||||
// function eventsForResource(resource, events) {
|
||||
// var resourceEvents = [];
|
||||
// for (var i = 0; i < events.length; i++) {
|
||||
// if (events[i].resources && $.inArray(resource.id, events[i].resources) >= 0) {
|
||||
// resourceEvents.push(events[i])
|
||||
// }
|
||||
// }
|
||||
// return resourceEvents;
|
||||
// }
|
||||
|
||||
// Generate an array of "segments" for all events.
|
||||
function buildSegmentsTEMP(events) {
|
||||
// // Generate an array of "segments" for all events.
|
||||
// function buildSegmentsTEMP(events) {
|
||||
var segments = [];
|
||||
for (var i=0; i<events.length; i++) {
|
||||
var eventSegments = buildSegmentsForEvent(events[i]);
|
||||
@@ -211,14 +211,14 @@ function DayEventRenderer() {
|
||||
// Generate an array of segments for a single event.
|
||||
// A "segment" is the same data structure that View.rangeToSegments produces,
|
||||
// with the addition of the `event` property being set to reference the original event.
|
||||
function buildSegmentsForEvent(event, col) {
|
||||
function buildSegmentsForEvent(event) { //, col) {
|
||||
var segments = rangeToSegments(event.start, getEventEnd(event));
|
||||
for (var i=0; i<segments.length; i++) {
|
||||
//TEMP
|
||||
if (typeof col !== 'undefined'){
|
||||
segments[i].leftCol = col;
|
||||
segments[i].rightCol = col;
|
||||
}
|
||||
// if (typeof col !== 'undefined'){
|
||||
// segments[i].leftCol = col;
|
||||
// segments[i].rightCol = col;
|
||||
// }
|
||||
// TEMP
|
||||
segments[i].event = event;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ function ResourceEventRenderer() {
|
||||
segs = [];
|
||||
for (i=0; i<colCnt; i++) {
|
||||
|
||||
d = cloneDate(t.visStart);
|
||||
d = t.visStart.clone();
|
||||
addMinutes(d, minMinute);
|
||||
|
||||
var resourceEvents = eventsForResource(resources()[i], events);
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
},
|
||||
editable: true,
|
||||
events: {
|
||||
url: "many_events_json.php",
|
||||
url: "many_events_json.txt",
|
||||
data: function() {
|
||||
var custom_data = { q: 'custom data value' }; // should see this in Networking
|
||||
console.log('setting custom_data as part of the eventSource fetch');
|
||||
|
||||
+47
-25
@@ -17,14 +17,14 @@
|
||||
var y = date.getFullYear();
|
||||
|
||||
$('#calendar').fullCalendar({
|
||||
defaultView: 'resourceDay',
|
||||
|
||||
dayRender: function(date, td) {
|
||||
//console.log(date, td);
|
||||
td.find('.fc-day-content').prepend('this is the ' + date.getDate());
|
||||
},
|
||||
|
||||
dayClick: function(date, allDay, ev, view) {
|
||||
console.log(date, allDay, ev);
|
||||
dayClick: function(date, allDay) {
|
||||
console.log(date, allDay);
|
||||
},
|
||||
weekNumbers: true,
|
||||
//selectable: true,
|
||||
@@ -36,29 +36,51 @@
|
||||
right: 'month,agendaWeek,basicWeek,agendaDay,basicDay'
|
||||
},
|
||||
editable: true,
|
||||
resources: [{ 'id': 'resource1', 'name': 'Resource 1' }, { 'id': 'resource2', 'name': 'Resource 2' }, { 'id': 'resource3', 'name': 'Resource 3' }],
|
||||
events: [
|
||||
{
|
||||
title: 'R1: breakfast',
|
||||
start: new Date(y, m, d, 09, 00),
|
||||
end: new Date(y, m, d, 09, 30),
|
||||
allDay: false,
|
||||
resources: ['resource1']
|
||||
},
|
||||
{
|
||||
title: 'R1: All day',
|
||||
start: new Date(y, m, d, 08, 30),
|
||||
end: new Date(y, m, d, 09, 00),
|
||||
allDay: true,
|
||||
resources: 'resource1'
|
||||
},
|
||||
{
|
||||
title: 'R1 & R2: Lunch',
|
||||
start: new Date(y, m, d, 12, 30),
|
||||
end: new Date(y, m, d, 13, 00),
|
||||
allDay: false,
|
||||
resources: ['resource1', 'resource2']
|
||||
}
|
||||
{
|
||||
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/'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
$('#calendar').fullCalendar({
|
||||
header: {
|
||||
left: 'prev next today',
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
right: 'month,agendaWeek,basicWeek,agendaDay,basicDay'
|
||||
},
|
||||
@@ -28,7 +28,7 @@
|
||||
month: 6, // july
|
||||
|
||||
//weekNumbers: true,
|
||||
isRTL: false,
|
||||
isRTL: true,
|
||||
//selectable: true,
|
||||
//firstDay: 2,
|
||||
//weekends: false,
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
//date: 22,
|
||||
//defaultView: 'agendaWeek', // error also occured with month view
|
||||
editable: true,
|
||||
events: "../demos/json-events.json"
|
||||
events: "../demos/json-events.php"
|
||||
});
|
||||
|
||||
$('#calendar').fullCalendar('option', 'height', $(window).height()-80);
|
||||
|
||||
@@ -57,12 +57,6 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
- click on day button
|
||||
- click refetchEvents
|
||||
- click on month button
|
||||
event shouldn't disappear!!!
|
||||
</p>
|
||||
<button onclick="$('#calendar').fullCalendar('refetchEvents')">refetchEvents</button>
|
||||
<div id='calendar'></div>
|
||||
</body>
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>// need to change to GMT+2 to recreate this bug!!!!</p>
|
||||
<div id='calendar'></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user