From 0175b92bdf2ec0763c8025d761c84efa222cb674 Mon Sep 17 00:00:00 2001 From: Andrew Buss <abuss@ucsd.edu> Date: Mon, 25 May 2015 19:33:15 -0700 Subject: [PATCH] fix some inefficient reloads --- scripts/FeedController.js | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/scripts/FeedController.js b/scripts/FeedController.js index d9a1bbf..0220e69 100644 --- a/scripts/FeedController.js +++ b/scripts/FeedController.js @@ -15,24 +15,24 @@ angular.module('flashy.FeedController', ['ui.router']). return Math.floor(avail / 250); } - function createCols(data) { + $scope.refreshLayout = function() { $scope.cardCols = []; for (i = 0; i < $scope.cols; i++) $scope.cardCols.push([]); var i = 0; - for (card in data) { + for (card in $scope.cards) { if (i >= $scope.cols) i = 0; $scope.cardCols[i++].push(card); } } - angular.element($window).bind('resize', $scope.refreshCards); + console.log('cols:' + calculate_cols()); $scope.refreshCards = function () { $http.get('/api/sections/' + sectionId + '/feed/'). success(function (data) { console.log(data); - createCols(data); + $scope.cards = data; console.log('success in refresh cards...'); }). error(function (err) { @@ -40,6 +40,10 @@ angular.module('flashy.FeedController', ['ui.router']). }); }; + angular.element($window).bind('resize', function(){ + if($scope.cols != calculate_cols()) $scope.refreshLayout(); + }); + $scope.add = function (card) { var col = Math.floor(Math.random() * $scope.cols); $scope.cols[col].unshift(card); @@ -58,25 +62,6 @@ angular.module('flashy.FeedController', ['ui.router']). if (found == -1) console.log('Error finding card to hide:' + card); }; - /* Instance creation */ - $http.get('/api/sections/' + sectionId + '/feed/'). - success(function (data) { - console.log(data); - $scope.noCards = function () { - alert(data.length); - if (data.length == 0) { - return true; - } else { - return false; - } - } - createCols(); - console.log('success in refresh cards...'); - }). - error(function (err) { - console.log('pulling feed failed'); - }); - var loc = window.location, new_uri; if (loc.protocol === 'https:') { new_uri = 'wss:'; @@ -210,7 +195,8 @@ angular.module('flashy.FeedController', ['ui.router']). document.execCommand('bold'); }); }); - + $scope.refreshCards(); + $scope.refreshLayout(); $scope.$on('$destroy', function () { ws.close(); $rootScope.currentSection = {}; -- 1.9.1