Major performance improvements to the Dashboard and Calendar views

* Close the PHP session for writing as early as possible in most AJAX
  calls for those views
* Reduce the number of roundtrips to the server in both the Dashboard
  and Calendar views by putting the data in our HTML response (this
  makes a massive difference)
* Eliminated a couple of unneccessary AJAX calls
* Use lazy loading in full calendar
* Fixed a bug in the week view that only occurs near the end of the
  week (date->gmdate bug!)
This commit is contained in:
Albert Santoni 2015-03-13 18:22:27 -04:00
parent b49e98693b
commit 34de6da2c7
10 changed files with 48 additions and 16 deletions

View file

@ -395,7 +395,6 @@ function getScheduleFromServer(){
parseSourceStatus(data.source_status);
parseSwitchStatus(data.switch_status);
showName = data.show_name;
setTimeout(getScheduleFromServer, serverUpdateInterval);
}, error:function(jqXHR, textStatus, errorThrown){}});
}
@ -456,8 +455,9 @@ var stream_window = null;
function init() {
//begin producer "thread"
getScheduleFromServer();
//getScheduleFromServer();
setInterval(getScheduleFromServer, serverUpdateInterval);
//begin consumer "thread"
secondsTimer();

View file

@ -890,7 +890,7 @@ var AIRTIME = (function(AIRTIME) {
}
});
checkImportStatus();
//checkImportStatus();
checkLibrarySCUploadStatus();
addQtipToSCIcons();

View file

@ -362,11 +362,14 @@ function windowResize() {
function preloadEventFeed () {
var url = baseUrl+'Schedule/event-feed-preload';
var d = new Date();
createFullCalendar({calendarInit: calendarPref});
/*
$.post(url, {format: "json", cachep: d.getTime()}, function(json){
calendarEvents = json.events;
createFullCalendar({calendarInit: calendarPref});
});
*/
}
var initialLoad = true;

View file

@ -312,7 +312,7 @@ function createFullCalendar(data){
],
contentHeight: mainHeight,
theme: true,
lazyFetching: false,
lazyFetching: true,
serverTimestamp: parseInt(data.calendarInit.timestamp, 10),
serverTimezoneOffset: parseInt(data.calendarInit.timezoneOffset, 10),