diff --git a/hourglass/client/main/main.js b/hourglass/client/main/main.js index 83bbd01..a992155 100644 --- a/hourglass/client/main/main.js +++ b/hourglass/client/main/main.js @@ -37,13 +37,12 @@ var ref = { }; // Reactive variables. -Session.set("calendarclasses", null); // +Session.set("calendarclasses", null); // Session.set("sidebar", null); Session.set("newWork",null); Session.set("currentWork",null); Session.set("currentReadableWork",null); Session.set("modifying",null); -Session.set("serverData",null); Session.set("noclass",null); Session.set("calCreWork",null); Session.set("calWorkDate",null); @@ -51,7 +50,7 @@ Session.set("classDisp",[]); Session.set("classDispHover",null); Session.set("commentRestrict",null); -Template.registerHelper('divColor', (div) => { // Reactive color changing based on preferences. Colors stored in Session.get("themeColors"). +Template.registerHelper('divColor', (div) => { // Reactive color changing based on preferences. Colors stored in themeColors. return themeColors[Meteor.user().profile.preferences.theme][div]; }); @@ -69,7 +68,7 @@ Template.registerHelper('overlayDim', (part) => { // Gets size of the overlay co return width + height + margin + bg; }); -Template.registerHelper('myClasses', () => { +Template.registerHelper('myClasses', () => { if (Meteor.user().profile.classes === undefined || Meteor.user().profile.classes.length === 0) { Session.set("noclass",true); return []; @@ -114,7 +113,7 @@ Template.registerHelper('myClasses', () => { } while(thisWork.indexOf("no") !== -1) thisWork.splice(thisWork.indexOf("no"),1); - for(var j = 0; j < thisWork.length; j++) { + for(var j = 0; j < thisWork.length; j++) { thisWork[j].dueDate = moment(thisWork[j].dueDate).calendar(null, { sameDay: '[Today]', nextDay: '[Tomorrow]', @@ -150,7 +149,7 @@ Template.registerHelper('pref', (val) => { if(Object.keys(Meteor.user().profile.preferences).length !== Object.keys(defaults).length) { var array = Meteor.user().profile; array.preferences = defaults; - Session.set("serverData",array); + serverData = array; sendData("editProfile"); if(val === 'timeHide' || val === 'done') return defaults[val]; return defaults[val].charAt(0).toUpperCase() + defaults[val].slice(1); @@ -180,7 +179,7 @@ Template.main.helpers({ defaultMode() { if(load) { Session.set("mode",Meteor.user().profile.preferences.mode); - load = false; + load = false; } return; }, @@ -246,14 +245,14 @@ Template.main.helpers({ var today = (moment().subtract(hide,'days'))["_d"]; if(today > due) { disp = false; - } + } } if(Meteor.user().profile.preferences.done && current.done.indexOf(Meteor.userId()) !== -1) disp = false; var inRole = false; var currClass = classes.findOne({_id: current.class}) - if(Meteor.userId() === current.creator || + if(Meteor.userId() === current.creator || Roles.userIsInRole(Meteor.userId(), ['superadmin', 'admin']) || currClass.moderators.indexOf(Meteor.userId()) !== -1 || currClass.banned.indexOf(Meteor.userId()) !== -1 @@ -281,7 +280,7 @@ Template.main.helpers({ var current = work.findOne({_id:event.id}); var date = event.start.format().split("-"); current.dueDate = new Date(date[0],parseInt(date[1])-1,date[2],11,59,59); - Session.set("serverData",current); + serverData = current; sendData("editWork"); }, eventClick: function(event, jsEvent, view) { @@ -296,7 +295,7 @@ Template.main.helpers({ if(jsEvent.target.className.includes("fc-other-month") || jsEvent.target.className.includes("fc-past")) return; Session.set("calCreWork",true); Session.set("calWorkDate",date.format()); - Session.set("sidebar","menuContainer"); + Session.set("sidebar","menuContainer"); } }; }, @@ -472,14 +471,14 @@ Template.main.events({ closeDivFade(document.getElementsByClassName("overlay")[0]); if(!Session.get("newWork")) { if(getHomeworkFormData() === null) return; - Session.set("serverData",Session.get("currentWork")); + serverData = Session.get("currentWork"); sendData("editWork"); document.getElementById("workComment").value = ""; } Session.set("newWork",null); Session.set("currentWork",null); Session.set("currentReadableWork",null); - $('.req').css("color","") + $('.req').css("color",""); Session.set("commentRestrict",null); } @@ -525,7 +524,7 @@ Template.main.events({ Roles.userIsInRole(Meteor.userId(), ['superadmin', 'admin']) || currClass.moderators.indexOf(Meteor.userId()) !== -1 || currClass.banned.indexOf(Meteor.userId()) !== -1 - )) return; + )) return; } var ele = event.target; @@ -587,7 +586,7 @@ Template.main.events({ Roles.userIsInRole(Meteor.userId(), ['superadmin', 'admin']) || currClass.moderators.indexOf(Meteor.userId()) !== -1 || currClass.banned.indexOf(Meteor.userId()) !== -1 - )) return; + )) return; } var op = event.target; @@ -675,7 +674,7 @@ Template.main.events({ }, 'click #workSubmit' () { if(getHomeworkFormData() === null) return; - Session.set("serverData",Session.get("currentWork")); + serverData = Session.get("currentWork"); if(Session.get("newWork")) { sendData("createWork"); } else { @@ -705,7 +704,7 @@ Template.main.events({ currClass.moderators.indexOf(Meteor.userId()) !== -1 || currClass.banned.indexOf(Meteor.userId()) !== -1)) { var inputs = $('#editWork .change').css("cursor","default"); - }; + }; } openDivFade(document.getElementsByClassName("overlay")[0]); @@ -747,7 +746,7 @@ Template.main.events({ array.splice(array.indexOf(classid),1); } else { array.push(classid); - } + } Session.set("classDisp",array); $("#fullcalendar").fullCalendar( 'refetchEvents' ); } @@ -756,7 +755,7 @@ Template.main.events({ if(event.target.className !== "sideClass") { var div = event.target.parentNode; } else { - var div = event.target; + var div = event.target; } while(div.getAttribute("classid") === null) div = div.parentNode; var classid = div.getAttribute("classid"); @@ -778,15 +777,15 @@ Template.main.events({ Session.set("commentRestrict", "Characters left: " + (200-chars).toString()); }, 'click #markDone' () { - Session.set("serverData", [Session.get("currentWork")._id, "done"]) + serverData = [Session.get("currentWork")._id, "done"] sendData("toggleWork"); }, 'click #markConfirm' () { - Session.set("serverData", [Session.get("currentWork")._id, "confirmations"]) + serverData = [Session.get("currentWork")._id, "confirmations"] sendData("toggleWork"); }, 'click #markReport' () { - Session.set("serverData", [Session.get("currentWork")._id, "reports"]) + serverData = [Session.get("currentWork")._id, "reports"] sendData("toggleWork"); } }); @@ -807,7 +806,7 @@ function closeDivFade(div) { } function sendData(funcName) { - Meteor.call(funcName, Session.get("serverData") , function(err,result) { + Meteor.call(funcName, serverData , function(err,result) { if((funcName === "editWork" || funcName === "createWork") && Session.get("mode") === "calendar") { $("#fullcalendar").fullCalendar( 'refetchEvents' ); } else if(funcName === "toggleWork") { @@ -819,7 +818,7 @@ function sendData(funcName) { } else if(funcName === "editProfile") { $("#fullcalendar").fullCalendar( 'refetchEvents' ); } - }); + }); } function closeInput(sessval) { @@ -845,11 +844,11 @@ function closeInput(sessval) { Session.set("modifying", null); if(Session.equals("sidebar","optionsContainer") || Session.equals("sidebar","both")) { - Session.set("serverData",getPreferencesData()); + serverData = getPreferencesData(); sendData("editProfile"); } else if(!Session.get("newWork")) { if(getHomeworkFormData() === null) return; - Session.set("serverData",Session.get("currentWork")); + serverData = Session.get("currentWork"); sendData("editWork"); } } diff --git a/hourglass/client/profile/profile.js b/hourglass/client/profile/profile.js index e44b731..75c678d 100644 --- a/hourglass/client/profile/profile.js +++ b/hourglass/client/profile/profile.js @@ -4,15 +4,13 @@ // Sets up global variables -Session.set("profInputOpen", null); Session.set("profClassTab", "manClass"); Session.set("modifying", null); Session.set("notsearching", true); Session.set("confirm", null); -Session.set("serverData", null); Session.set("autocompleteDivs", null); Session.set("confirmText", null); -Session.set("selectedClass",null); +Session.set("selectedClass",null); Session.set("selectClassId",null); Session.set("code",null); Session.set("noclass",null); @@ -419,7 +417,7 @@ Template.profile.events({ var attribute = event.target.getAttribute("classid"); } var data = [attribute, ""]; - Session.set("serverData", data); + serverData = data; Session.set("confirm", "joinClass"); Session.set("confirmText", "Join class?"); @@ -435,18 +433,18 @@ Template.profile.events({ var form = document.getElementById("create"); for(var i = 0; i < form.length; i++) form[i].value = ""; } - Session.set("serverData", null); + serverData = null; Session.set("confirm", null); }, 'click .fa-times-circle-o' () { // Deny Button closeDivFade(document.getElementsByClassName("overlay")[0]); - Session.set("serverData", null); + serverData = null; Session.set("confirm", null); }, 'click #creSubmit' () { //Submits form data for class var data = getCreateFormData(); if (data === null) return; - Session.set("serverData", data); + serverData = data; Session.set("confirm", "createClass"); Session.set("confirmText", "Submit request?"); @@ -478,29 +476,29 @@ Template.profile.events({ return; } var user = Meteor.users.findOne({"services.google.email":value}); - Session.set("serverData", [ + serverData = [ user._id, classid, event.target.parentNode.childNodes[1].childNodes[0].nodeValue.replace(":","").toLowerCase() - ]); + ]; sendData("trackUserInClass"); }, 'click .classBox .fa-times' (event) { // Leaves a class var box = event.target.parentNode; var classid = box.getAttribute("classid"); - Session.set("serverData", box.getAttribute("classid")); + serverData = box.getAttribute("classid"); Session.set("confirm","leaveClass"); Session.set("confirmText", "Leave this class?"); openDivFade(document.getElementsByClassName("overlay")[0]); }, 'click .userBox .fa-times' (event) { // Removes user from permissions var box = event.target.parentNode; - Session.set("serverData", [ + serverData = [ box.getAttribute("userid"), document.getElementById("createdClasses").getAttribute("classid"), box.parentNode.parentNode.childNodes[1].childNodes[1].childNodes[0].nodeValue.replace(":","").toLowerCase() - ]) + ]; sendData("untrackUserInClass"); }, 'click #copy' () { //Copies googlee-classroom style code @@ -509,7 +507,7 @@ Template.profile.events({ document.execCommand("copy"); }, 'click #deleteClass' () { - Session.set("serverData",document.getElementById("createdClasses").getAttribute("classid")); + serverData = document.getElementById("createdClasses").getAttribute("classid"); Session.set("confirm", "deleteClass"); Session.set("confirmText", "Delete this class?"); openDivFade(document.getElementsByClassName("overlay")[0]); @@ -538,7 +536,7 @@ Template.profile.events({ return; } var user = Meteor.users.findOne({"services.google.email":value}); - Session.set("serverData", [user._id,classid]); + serverData = [user._id,classid]; Session.set("confirm","changeAdmin"); Session.set("confirmText", "Are you really sure?"); openDivFade(document.getElementsByClassName("overlay")[0]) @@ -555,7 +553,7 @@ Template.profile.events({ var input = document.getElementById("privateCode"); var code = input.value; input.value = ""; - Session.set("serverData", code); + serverData = code; Meteor.call("joinPrivateClass", code, function(error, result) { if(result) { document.getElementById("joinPrivClass").style.marginBottom = "-10%"; @@ -597,12 +595,12 @@ function closeInput(sessval) { } span.style.display = "initial"; Session.set("modifying", null); - Session.set("serverData", getProfileData()); + serverData = getProfileData(); sendData("editProfile"); } function sendData(funcName) { - Meteor.call(funcName, Session.get("serverData")); + Meteor.call(funcName, serverData); } function getProfileData() { @@ -668,4 +666,4 @@ function checkUser(email,classid) { if(classes.findOne({_id:classid}).subscribers) return false; } -} \ No newline at end of file +} diff --git a/hourglass/lib/constants.js b/hourglass/lib/constants.js index 4429490..0e9d36c 100644 --- a/hourglass/lib/constants.js +++ b/hourglass/lib/constants.js @@ -26,3 +26,4 @@ themeColors = { } }; +serverData = null;