From c4d2d730f1966735d7b6df1fae6968e556b9890d Mon Sep 17 00:00:00 2001 From: Yaman Qalieh Date: Fri, 16 Sep 2016 17:25:15 -0400 Subject: [PATCH] reorder classes save --- hourglass/client/main/main.js | 17 +++++++++++++---- hourglass/server/main.js | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/hourglass/client/main/main.js b/hourglass/client/main/main.js index c0b5733..bb340b6 100644 --- a/hourglass/client/main/main.js +++ b/hourglass/client/main/main.js @@ -61,7 +61,6 @@ Session.set("classDispHover", null); // Stores current hovered class filter. Session.set("refetchEvents", null); // Stores whether to get calendar events again. Session.set("commentRestrict", ""); // Stores text for comment character restriction. -dragula([document.querySelector('#classesMode'), document.querySelector('#nonexistant')]); Template.login.rendered = function() { Accounts._loginButtonsSession.set('dropdownVisible', true); @@ -69,6 +68,16 @@ Template.login.rendered = function() { Template.main.rendered = function() { Accounts._loginButtonsSession.set('dropdownVisible', true); + dragula([document.querySelector('#classesMode'), document.querySelector('#nonexistant')], {copy: false}) + .on('out', function(el) { + var els = document.getElementsByClassName("classWrapper"); + var final = []; + for(var i = 0; i < els.length; i++) { + var classid = els[i].getElementsByClassName("creWork")[0].getAttribute("classid"); + final.push(classid); + } + Meteor.call("reorderClasses", final); + }); }; Template.profile.rendered = function() { @@ -165,7 +174,7 @@ Template.registerHelper('myClasses', () => { // Gets all classes and respective } if (thisWork[j] !== "no" && sideFilter.length !== 0 && !_.contains(sideFilter, thisWork[j].type)) { - thisWork[j] = "no" + thisWork[j] = "no"; } if(thisWork[j] !== "no" && Session.get("user").preferences.hideReport && (thisWork[j].confirmations.length/thisWork[j].reports.length) <= 0.9) { @@ -207,10 +216,10 @@ Template.registerHelper('myClasses', () => { // Gets all classes and respective thisWork[j].doneRatio = normalColor; } else { thisWork[j].doneRatio = "#F9F906"; - } + } } else if (ratio >= 2) { thisWork[j].doneRatio = "#33DD33"; - } else if (ratio <= .9) { + } else if (ratio <= 0.9) { thisWork[j].doneRatio = "#FF1A1A"; } } diff --git a/hourglass/server/main.js b/hourglass/server/main.js index ec43cad..5cc7f57 100644 --- a/hourglass/server/main.js +++ b/hourglass/server/main.js @@ -486,7 +486,8 @@ Meteor.methods({ }, 'reorderClasses': function(newOrder) { var current = Meteor.user().profile; - if(newOrder.every(elem => _.contains(current.classes, elem))) { + if(newOrder.every(elem => _.contains(current.classes, elem)) && + newOrder.length === current.classes.length) { current.classes = newOrder; Meteor.users.update({ _id: Meteor.userId()