From 7cf67e5616aa5ca55642b7f4f56af534c25ddd1a Mon Sep 17 00:00:00 2001 From: Andrew Buss Date: Sun, 31 May 2015 02:00:25 -0700 Subject: [PATCH] merge proper --- scripts/FeedController.js | 102 +++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 60 deletions(-) diff --git a/scripts/FeedController.js b/scripts/FeedController.js index fe8fbd0..606303c 100644 --- a/scripts/FeedController.js +++ b/scripts/FeedController.js @@ -8,11 +8,11 @@ angular.module('flashy.FeedController', ['ui.router', 'ngAnimate']). return $state.go('addclass'); } $rootScope.currentSection = $rootScope.SectionResource.get({sectionId: sectionId}); - $rootScope.debug_flashcard = false; + $rootScope.debug_flashcard = false; $scope.cards = false; $scope.cardCols = []; // organized data $scope.numCols = 0; - $scope.cardTable = {}; // look up table of cards, {'colNum':col, 'obj':card} + $scope.cardTable = {}; // look up table of cards, {'colNum':col, 'obj':card} function calculate_cols() { var avail = $window.innerWidth - 17; @@ -43,7 +43,7 @@ angular.module('flashy.FeedController', ['ui.router', 'ngAnimate']). for (i = 0; i < $scope.numCols; i++) cols.push([]); $scope.cards.forEach(function(card, i) { cols[i % $scope.numCols].push(card); - $scope.cardTable[card.id] = {'colNum': (i % $scope.numCols), 'obj': card}; + $scope.cardTable[card.id] = {'colNum': (i % $scope.numCols), 'obj': card}; }); // wait until the next digest cycle to update cardCols @@ -73,14 +73,14 @@ angular.module('flashy.FeedController', ['ui.router', 'ngAnimate']). $scope.add = function(card) { var colNum = 0; var lowestCol = $scope.cardCols[0]; - var lowestColNum = 0; + var lowestColNum = 0; while (colNum < $scope.numCols) { if ($scope.cardCols[colNum].length == 0) { lowestCol = $scope.cardCols[colNum]; break; } else if ($scope.cardCols[colNum].length < lowestCol.length) { lowestCol = $scope.cardCols[colNum]; - lowestColNum = colNum; + lowestColNum = colNum; lowestColLen = $scope.cardCols[colNum].length; } colNum++; @@ -89,67 +89,49 @@ angular.module('flashy.FeedController', ['ui.router', 'ngAnimate']). $scope.cards.push(data); $timeout(function() { lowestCol.unshift(card); - $scope.cardTable[card.id] = {'colNum': lowestColNum, 'obj': card}; + $scope.cardTable[card.id] = {'colNum': lowestColNum, 'obj': card}; $timeout($scope.refreshColumnWidth); }); }; - $scope.sortAdd = function(card, array) { - console.log('sort add'); - array.forEach(function(ele, i, ary) { - if (ele.score <= card.score) { - ary.splice(i, 0, card); - return; - } - }); - }; + $scope.sortAdd = function(card, array) { + console.log('sort add'); + array.forEach(function(ele, i, ary) { + if (ele.score <= card.score) { + ary.splice(i, 0, card); + return; + } + }); + }; $scope.hide = function(card) { console.log('hiding card'); var found = -1; - col = $scope.cardTable[card.id].colNum; - found = $scope.cardCols[col].indexOf(card); - if (found != -1) { - $scope.cardCols[col].splice(found, 1); - console.log('card hidden'); - return col; - } + col = $scope.cardTable[card.id].colNum; + found = $scope.cardCols[col].indexOf(card); + if (found != -1) { + $scope.cardCols[col].splice(found, 1); + console.log('card hidden'); + return col; + } console.log('Error finding card to hide:'); console.log(card); - return -1; - }; << -<< << < HEAD; - - $scope.update = function(id, new_score) { === // NOT WORKING - /*card = $scope.cardTable[id].obj; - if (new_score == card.score) { -======= - - $scope.update = function(id, new_score) { - card = $scope.cardTable[id].obj; - if (Math.abs(new_score - card.score) < .0001) { ->>>>>>> 5d2fe8fd2eba8b425eb41fe6382ff57ae66bb100 - console.log('score same, no update required'); - return; - } - console.log('updating'); - card.score = new_score; - console.log(card); -<<<<<<< HEAD - - col = $scope.hide(card) - if (col != -1) { - $scope.sortAdd(card, $scope.cardCols[col]); - }*/ -=== = -var column = $scope.cardCols[$scope.cardTable[id].colNum]; - var found = column.indexOf(card); - var i = 0; - for (; i < column.length; i++) - if (column[i].score <= card.score) break; - column.splice(i, 0, column.splice(found, 1)[0]); >>> ->>> > 5d2fe8fd2eba8b425eb41fe6382ff57ae66bb100; - }; + return -1; + }; + $scope.update = function(id, new_score) { // NOT WORKING + /*card = $scope.cardTable[id].obj; + if (new_score == card.score) { + console.log('score same, no update required'); + return; + } + console.log('updating'); + card.score = new_score; + console.log(card); + col = $scope.hide(card) + if (col != -1) { + $scope.sortAdd(card, $scope.cardCols[col]); + }*/ + }; var loc = window.location, new_uri; if (loc.protocol === 'https:') { @@ -164,14 +146,14 @@ var column = $scope.cardCols[$scope.cardTable[id].colNum]; console.log('websocket connected'); }; ws.onmessage = function(e) { - data = JSON.parse(e.data); + data = JSON.parse(e.data); console.log('got websocket message ' + e.data); - console.log(data); + console.log(data); if (data.event_type == 'new_card') { $scope.add(data.flashcard); } else if (data.event_type == 'score_change') { - $scope.update(data.flashcard_id, data.new_score); - } + $scope.update(data.flashcard_id, data.new_score); + } }; ws.onerror = function(e) { console.error(e); -- 1.9.1