Commit a106289b68291d1afb8f039aef19d4989906ed50

Authored by Leonardo Merlin
1 parent c3e6490b

Add limit and fix reverse filter when no criteria is selected.

src/app/components/programas/programas.directive.js
@@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
29 var vm = this; 29 var vm = this;
30 30
31 vm.query = null; 31 vm.query = null;
  32 + vm.limitTo = 4;
32 vm.categoryFilter = null; 33 vm.categoryFilter = null;
33 vm.orderCriteries = [ 34 vm.orderCriteries = [
34 { label: 'Título', name: 'title' }, 35 { label: 'Título', name: 'title' },
@@ -127,12 +128,9 @@ @@ -127,12 +128,9 @@
127 128
128 return function (input, criteria, reverse){ 129 return function (input, criteria, reverse){
129 input = input || []; 130 input = input || [];
  131 + criteria = criteria || {};
130 reverse = reverse || false; 132 reverse = reverse || false;
131 133
132 - if( !criteria ){  
133 - return input;  
134 - }  
135 -  
136 var out = []; 134 var out = [];
137 // for (var i = 0; i < input.length; i++) { 135 // for (var i = 0; i < input.length; i++) {
138 // var program = input[i]; 136 // var program = input[i];
@@ -152,10 +150,16 @@ @@ -152,10 +150,16 @@
152 // break; 150 // break;
153 default: 151 default:
154 $log.info('Criteria not handled yet: ', criteria); 152 $log.info('Criteria not handled yet: ', criteria);
155 - out = input; 153 +
  154 + if(reverse){
  155 + out = input.slice().reverse();
  156 + }else{
  157 + out = input;
  158 + }
156 break; 159 break;
157 } 160 }
158 161
  162 +
159 return out; 163 return out;
160 }; 164 };
161 } 165 }
src/app/components/programas/programas.html
@@ -44,13 +44,18 @@ @@ -44,13 +44,18 @@
44 44
45 <div class="checkbox"> 45 <div class="checkbox">
46 <label> 46 <label>
47 - <input type="checkbox" ng-model="orderReverse"> Reverso 47 + <input type="checkbox" ng-model="orderReverse">
  48 + Reverso
48 </label> 49 </label>
49 </div> 50 </div>
  51 +
  52 + <input id="programListLimit" type="number" class="form-control input-sm" size="4" step="2" ng-model="vm.limitTo" aria-label="Limitar" >
  53 + <label for="programListLimit" class="control-label">Limite</label>
  54 +
50 </div> 55 </div>
51 </div> 56 </div>
52 </div> 57 </div>
53 - <div ng-repeat="program in vm.programs | filterByCategory:vm.categoryFilter | filterByCriteria:vm.orderCriteria:orderReverse | filter:vm.query as results"> 58 + <div ng-repeat="program in vm.programs | filterByCategory:vm.categoryFilter | filterByCriteria:vm.orderCriteria:orderReverse | filter:vm.query | limitTo:vm.limitTo as results">
54 <programa-box program="program" class="col-sm-12 col-md-6"></programa-box> 59 <programa-box program="program" class="col-sm-12 col-md-6"></programa-box>
55 <div ng-if="$odd" class="clearfix"></div> 60 <div ng-if="$odd" class="clearfix"></div>
56 </div> 61 </div>