diff --git a/scripts/CardListController.js b/scripts/CardListController.js index 6eadeea..3276100 100644 --- a/scripts/CardListController.js +++ b/scripts/CardListController.js @@ -1,4 +1,4 @@ -angular.module('flashy.CardListController', ['ui.router', 'angular.filter']). +angular.module('flashy.CardListController', ['ui.router', 'angular.filter', 'ngSanitize']). controller('CardListController', function($scope, $rootScope, $state, $http, $stateParams) { // cards array sectionId = $stateParams.sectionId; @@ -18,6 +18,7 @@ angular.module('flashy.CardListController', ['ui.router', 'angular.filter']). console.log('go to feed'); }; + // unhide card $scope.unhide = function(card) { $http.post('/api/flashcards/' + card.id + '/unhide/'). @@ -177,4 +178,28 @@ angular.module('flashy.CardListController', ['ui.router', 'angular.filter']). }; } -); +). +filter('displayCard', function($sce) { + return function(card) { + // text to display as html + var cardText = ""; + + var start = 0; // where to start next string break + + // get all display pieces and blank pieces + for (var i = 0; i < card.mask.length; i++) { + cardText = cardText.concat( card.text.substring(start, card.mask[i][0]) ); + cardText = cardText.concat(""); + cardText = cardText.concat( card.text.substring(card.mask[i][0], card.mask[i][1]) ); + cardText = cardText.concat(""); + start = card.mask[i][1]; + } + + // get remaining dislay pieces, if any + if (start != card.mask.length - 1) + cardText = cardText.concat( card.text.substring(start) ); + + //cardText = cardText.concat(""); + return $sce.trustAsHtml(cardText); + }; +}); diff --git a/templates/cardlist.html b/templates/cardlist.html index 67a6ce6..038353a 100644 --- a/templates/cardlist.html +++ b/templates/cardlist.html @@ -2,7 +2,7 @@
Show Hidden -
+
@@ -60,10 +60,11 @@
    + ng-repeat="(weeknum, week_cards) in cards | filter:searchText | filter:filterByDate | groupBy: 'material_week_num'">
  • Week {{weeknum}}

  • -
    {{card.text}} +
    + {{dayofweek(card)}}