serverData make global variable

This commit is contained in:
Yaman Qalieh 2016-08-29 21:02:02 -04:00
parent 9356b4b04c
commit cb8c9025f4
3 changed files with 42 additions and 44 deletions

View File

@ -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");
}
}

View File

@ -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;
}
}
}

View File

@ -26,3 +26,4 @@ themeColors = {
}
};
serverData = null;