This commit is contained in:
Sean Kenny
2014-07-27 17:09:43 +01:00
parent 273873c3be
commit bf2b2167b6
12 changed files with 98 additions and 80 deletions
+1 -1
View File
@@ -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
View File
@@ -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;
+5 -1
View File
@@ -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,
+33 -33
View File
@@ -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;
}
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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
View File
@@ -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/'
}
]
});
+2 -2
View File
@@ -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,
+1 -1
View File
@@ -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);
-6
View File
@@ -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>
-1
View File
@@ -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