diff --git a/scripts/CardGridController.js b/scripts/CardGridController.js index 38aca03..81b215c 100644 --- a/scripts/CardGridController.js +++ b/scripts/CardGridController.js @@ -72,7 +72,6 @@ angular.module('flashy.CardGridController', ['ui.router', 'ngAnimate', 'ngWebSoc $scope.refreshLayout = function() { numCols = Math.max(1, Math.floor(($window.innerWidth - 17) / 250)); - // check if we actually need to refresh the whole layout if (numCols == $scope.numCols) return $scope.refreshColumnWidth(); $scope.numCols = numCols; diff --git a/scripts/DeckFactory.js b/scripts/DeckFactory.js index 13eea8a..990d670 100644 --- a/scripts/DeckFactory.js +++ b/scripts/DeckFactory.js @@ -19,13 +19,14 @@ angular.module('flashy.DeckFactory', ['ui.router', 'flashy.FlashcardFactory', 'n data = JSON.parse(message.data); console.log('message', data); if (data.event_type == 'card_pulled') { - if(obj.cards[data.flashcard.id]) console.log("Pulled a card already in our deck?"); + if (obj.cards[data.flashcard.id]) console.log("Pulled a card already in our deck?"); card = new Flashcard(data.flashcard); + if (data.flashcard.is_authored_by_user) card.is_authored_by_user = true; obj.cards[card.id] = card; if (callbacks.cardPullCallback) callbacks.cardPullCallback(card); } if (data.event_type == 'card_unpulled') { - if(!obj.cards[data.flashcard.id]) return console.log("Unpulled a card not in our deck?"); + if (!obj.cards[data.flashcard.id]) return console.log("Unpulled a card not in our deck?"); card = new Flashcard(data.flashcard); obj.cards[card.id] = undefined; if (callbacks.cardUnpullCallback) callbacks.cardUnpullCallback(card); @@ -37,7 +38,7 @@ angular.module('flashy.DeckFactory', ['ui.router', 'flashy.FlashcardFactory', 'n if (callbacks.cardHideCallback) callbacks.cardHideCallback(card); } if (data.event_type == 'card_unhidden') { - if(obj.cards[data.flashcard.id]) return; + if (obj.cards[data.flashcard.id]) return; card = new Flashcard(data.flashcard); card.is_hidden = false; if (callbacks.cardUnhideCallback) callbacks.cardUnhideCallback(card); @@ -49,7 +50,11 @@ angular.module('flashy.DeckFactory', ['ui.router', 'flashy.FlashcardFactory', 'n } }); this.deckPromise = $http.get('/api/sections/' + sectionId + '/deck/').success(function (data) { - for (i in data) obj.cards[data[i].id] = new Flashcard(data[i], obj); + for (i in data) { + obj.cards[data[i].id] = new Flashcard(data[i], obj); + //obj.cards[data[i].id].is_authored_by_user = data.is_authored_by_user; + } + console.log("got user's deck", data); }); this.cleanup = function () { diff --git a/scripts/FeedController.js b/scripts/FeedController.js index eb906e1..9232819 100644 --- a/scripts/FeedController.js +++ b/scripts/FeedController.js @@ -118,7 +118,11 @@ angular.module('flashy.FeedController', data = JSON.parse(e.data); console.log(data.event_type, 'message', data.flashcard); if (data.event_type == 'new_card') { - $scope.addCardToGrid(new Flashcard(data.flashcard, $scope.deck)); + // don't trust the backend for feed's authored_by_user + card = data.flashcard; + delete card['is_authored_by_user']; + card = new Flashcard(card); + $scope.addCardToGrid(card, $scope.deck); } else if (data.event_type == 'score_change') { card = new Flashcard(data.flashcard); // doesnt create a card if it exists //card.score = data.flashcard.score;