diff --git a/scripts/CardListController.js b/scripts/CardListController.js index 7a71727..ee1646f 100644 --- a/scripts/CardListController.js +++ b/scripts/CardListController.js @@ -43,5 +43,33 @@ angular.module('flashy.CardListController', ['ui.router']). $(document).off('keydown'); }); + // checkbox filter + $scope.filter = { + 'week1': true, + 'week2': true, + 'week3': true, + 'week4': true, + 'week5': true, + 'week6': true, + 'week7': true, + 'week8': true, + 'week9': true, + 'week10': true, + }; + + $scope.filterByDate = function(item) { + var date = new Date(item.pushed); + return ((date >= new Date('Mar 29, 2015')) && (date <= new Date('Apr 4, 2015')) && $scope.filter['week1']) || + ((date >= new Date('Apr 4, 2015')) && (date <= new Date('Apr 11, 2015')) && $scope.filter['week2']) || + ((date >= new Date('Apr 12, 2015')) && (date <= new Date('Apr 18, 2015')) && $scope.filter['week3']) || + ((date >= new Date('Apr 19, 2015')) && (date <= new Date('Apr 25, 2015')) && $scope.filter['week4']) || + ((date >= new Date('Apr 26, 2015')) && (date <= new Date('May 2, 2015')) && $scope.filter['week5']) || + ((date >= new Date('May 3, 2015')) && (date <= new Date('May 9, 2015')) && $scope.filter['week6']) || + ((date >= new Date('May 10, 2015')) && (date <= new Date('May 16, 2015')) && $scope.filter['week7']) || + ((date >= new Date('May 17, 2015')) && (date <= new Date('May 23, 2015')) && $scope.filter['week8']) || + ((date >= new Date('May 24, 2015')) && (date <= new Date('May 30, 2015')) && $scope.filter['week9']) || + ((date >= new Date('May 31, 2015')) && (date <= new Date('Jun 6, 2015')) && $scope.filter['week10']); + }; + } ); diff --git a/templates/cardlist.html b/templates/cardlist.html index 2f8227c..e04e4dd 100644 --- a/templates/cardlist.html +++ b/templates/cardlist.html @@ -1,10 +1,66 @@ <div class="row"> <a class="btn" id="showHidden" ng-click="show = !show" style="margin-top: 15px">Show Hidden</a> + <form class="col s6"> + <div class="input-field col s6"> + <i class="mdi-action-search prefix"></i> + <input id="search" type="text" class="validate" ng-model="searchText"> + <label for="search">Search</label> + </div> + </form> +</div> + +<div class="row"> + <form> + <div class="row"> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekOneCheck" ng-model="filter['week1']"/> + <label for="weekOneCheck">Week One</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekTwoCheck" ng-model="filter['week2']"/> + <label for="weekTwoCheck">Week Two</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekThreeCheck" ng-model="filter['week3']"/> + <label for="weekThreeCheck">Week Three</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekFourCheck" ng-model="filter['week4']"/> + <label for="weekFourCheck">Week Four</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekFiveCheck" ng-model="filter['week5']"/> + <label for="weekFiveCheck">Week Five</label> + </div> + </div> + <div class="row"> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekSixCheck" ng-model="filter['week6']"/> + <label for="weekSixCheck">Week Six</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekSevenCheck" ng-model="filter['week7']"/> + <label for="weekSevenCheck">Week Seven</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekEightCheck" ng-model="filter['week8']"/> + <label for="weekEightCheck">Week Eight</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekNineCheck" ng-model="filter['week9']"/> + <label for="weekNineCheck">Week Nine</label> + </div> + <div class="col s2"> + <input type="checkbox" class="filled-in" id="weekTenCheck" ng-model="filter['week10']"/> + <label for="weekTenCheck">Week Ten</label> + </div> + </div> + </form> </div> <div class="list" style="padding: 0px 15px"> <ul class="collection"> - <li class="collection-item" ng-repeat="card in cards" ng-show="show || !card.is_hidden"> + <li class="collection-item" ng-repeat="card in cards | filter:searchText | filter:filterByDate" ng-show="show || !card.is_hidden"> <div>{{card.text}}<a href="unhide(card)" class="secondary-content" ng-show="card.is_hidden">Unhide</a></div> </li> </ul>