/*jslint browser : true, continue : true, devel : true, indent : 2, maxerr : 50, newcap : true, nomen : true, plusplus : true, regexp : true, sloppy : true, vars : false, white : true */ /*global $, app */ app.inbox = (function() { "use strict"; //---------------- BEGIN MODULE SCOPE VARIABLES -------------- var stateMap = {}, configModule, initModule, terminateModule, getMessages, timerVar=null; //----------------- END MODULE SCOPE VARIABLES --------------- //------------------- BEGIN UTILITY METHODS ------------------ getMessages = function() { stateMap.$appList.html("

Checking...

"); app.api.get("mail/salesandsupportsummaries", function(res) { if (res.error) { $.gevent.publish("app-show-error", res.msg); } else { stateMap.$appList.empty(); var newMessageCount = 0; var lastAccount = ""; //The list var displayedItems = 0; var generatedHtml = '"; generatedHtml += '
Last check: ' + moment().format("YYYY-MM-DD LT") + "
"; //SET IT stateMap.$appList.append(generatedHtml); //case 3516 if (newMessageCount > 0) { document.title = newMessageCount + " NEW message" + (newMessageCount == 1 ? "" : "s"); } else { document.title = "No new messages"; } } //do it every 5 minutes timerVar=setTimeout(getMessages,5*60*1000); //timerVar=setTimeout(getMessages,5000); console.log("INBOX.GETMESSAGES - started timer " + timerVar); }); }; //-------------------- END UTILITY METHODS ------------------- //------------------- BEGIN EVENT HANDLERS ------------------- //-------------------- END EVENT HANDLERS -------------------- //------------------- BEGIN PUBLIC METHODS ------------------- //CONFIGMODULE // configModule = function(context) { stateMap.context = context.context; if (stateMap.context.params.id) { stateMap.id = stateMap.context.params.id; } }; //INITMODULE // initModule = function($container) { if (typeof $container === "undefined") { $container = $("#app-shell-main-content"); } $container.html(Handlebars.templates["app.inbox"]({})); stateMap.$appList = $("#rf-list-div"); getMessages(); //auto refresh every 10 minutes // intervalRef = setInterval(function() { // getMessages(); // }, 10 * 60 * 1000); app.nav.contextClear(); ////app.nav.setContextTitle("inbox"); }; // TERMINATE MODULE // terminateModule = function() { if(timerVar!=null){ clearTimeout(timerVar); console.log("INBOX.TERMINATEMODULE - cleared timer" + timerVar); } //clear up event handler // clearInterval(intervalRef); // intervalRef=null; //console.log("INBOX.TERMINATEMODULE"); }; //PUBLIC METHODS // return { configModule: configModule, initModule: initModule, terminateModule: terminateModule }; //------------------- END PUBLIC METHODS --------------------- })();