From 180aa08bb854a7122ebeee09dc578ae172eaa77d Mon Sep 17 00:00:00 2001 From: Andrew Buss Date: Tue, 2 Jun 2015 01:45:08 -0700 Subject: [PATCH] hide now working --- scripts/CardGridController.js | 27 +++++++++++++++++---------- scripts/FeedController.js | 8 ++++---- scripts/SettingsController.js | 2 +- templates/flashcard.html | 3 +-- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/scripts/CardGridController.js b/scripts/CardGridController.js index 0821244..3823a15 100644 --- a/scripts/CardGridController.js +++ b/scripts/CardGridController.js @@ -1,5 +1,5 @@ angular.module('flashy.CardGridController', ['ui.router', 'ngAnimate', 'ngWebSocket']).controller = - function($scope, $rootScope, $state, $http, $window, $timeout, $stateParams, $websocket, UserService) { + function($scope, $rootScope, $state, $http, $window, $timeout, $stateParams, $websocket, UserService, Flashcard) { $scope.cards = []; $scope.deck = []; $scope.cardCols = []; // organized data @@ -38,11 +38,10 @@ angular.module('flashy.CardGridController', ['ui.router', 'ngAnimate', 'ngWebSoc var cols = []; 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}; - card.isInDeck(); + card.colNum = i % $scope.numCols; + cols[card.colNum].push(card); }); - // wait until the next digest cycle to update cardCols + for (i in cols) $scope.updateColRanks(cols[i]); console.log(cols); $timeout(function() { $scope.cardCols = cols; @@ -62,15 +61,16 @@ angular.module('flashy.CardGridController', ['ui.router', 'ngAnimate', 'ngWebSoc $scope.deck_ws.onMessage(function(message) { data = JSON.parse(message.data); console.log('message', data); + card = new Flashcard(data.flashcard.id); if (data.event_type == 'card_pulled') { - card = data.flashcard; - console.log('pulling', card); $scope.deck[card.id] = card; } if (data.event_type == 'card_unpulled') { - card = data.flashcard; $scope.deck[card.id] = undefined; } + if (data.event_type == 'card_hidden') { + $scope.hideCardFromGrid(card); + } }); $scope.cardInDeck = function(id) { @@ -98,11 +98,18 @@ angular.module('flashy.CardGridController', ['ui.router', 'ngAnimate', 'ngWebSoc $timeout($scope.refreshColumnWidth); }; - + $scope.updateColRanks = function(col) { + for (i in col) + col[i].colRank = i; + }; + $scope.hideCardFromGrid = function(card) { + console.log('hiding', card); + $scope.cardCols[card.colNum].splice(card.colRank, 1); + $scope.updateColRanks($scope.cardCols[card.colNum]); + }; $http.get('/api/sections/' + $scope.sectionId + '/deck/'). success(function(data) { - for (i in data) $scope.deck[data[i].id] = data[i]; console.log("got user's deck"); }). diff --git a/scripts/FeedController.js b/scripts/FeedController.js index ab40863..7dfe49e 100644 --- a/scripts/FeedController.js +++ b/scripts/FeedController.js @@ -27,8 +27,7 @@ angular.module('flashy.FeedController', ['ui.router', 'ngAnimate', 'ngWebSocket' }); }; - $scope.updateCardScore = function(flashcard) { - card = new Flashcard(flashcard.id); + $scope.updateCardScore = function(card) { console.log('old score', card.score); card.score = flashcard.score; console.log('new score', card.score); @@ -42,9 +41,10 @@ angular.module('flashy.FeedController', ['ui.router', 'ngAnimate', 'ngWebSocket' data = JSON.parse(e.data); console.log('message', data); if (data.event_type == 'new_card') { - $scope.addCardToGrid(new Flashcard(data.flashcard, $scope.deck)); + $scope.addCardToGrid(new Flashcard(data.flashcard), $scope.deck); } else if (data.event_type == 'score_change') { - $scope.updateCardScore(data.flashcard); + card = new Flashcard(data.flashcard.id); + $scope.updateCardScore(new Flashcard(data.flashcard.id)); } }); diff --git a/scripts/SettingsController.js b/scripts/SettingsController.js index fd686d8..9756863 100644 --- a/scripts/SettingsController.js +++ b/scripts/SettingsController.js @@ -20,7 +20,7 @@ angular.module('flashy.SettingsController', ['ui.router']). }; function sendRegistrationId(registrationId, callback) { - console.log('registration id: '+ registrationId); + console.log('registration id: ' + registrationId); $http.post('/api/subscribe/', JSON.stringify({ 'registration_id': registrationId })); diff --git a/templates/flashcard.html b/templates/flashcard.html index 52dd5c0..a71a37e 100644 --- a/templates/flashcard.html +++ b/templates/flashcard.html @@ -19,8 +19,7 @@
-
+
-- 1.9.1