Commit bcca440aedc3403a73909163e1bc09efb948aebe

Authored by Leonardo Merlin
1 parent 4aec23e3

Add filter to ranking page

src/app/components/proposal-list/proposal-list.directive.js
... ... @@ -21,8 +21,8 @@
21 21 vm.$log = $log;
22 22  
23 23 vm.init();
24   -
25 24 vm.loadData();
  25 + vm.attachListeners();
26 26 }
27 27  
28 28 ProposalListController.prototype.init = function () {
... ... @@ -37,6 +37,12 @@
37 37 vm.per_page = 5;
38 38 }
39 39  
  40 + vm.initPorposalList();
  41 + };
  42 +
  43 + ProposalListController.prototype.initPorposalList = function () {
  44 + var vm = this;
  45 +
40 46 vm.currentPageIndex = 0;
41 47  
42 48 vm.proposalsPerPage = vm.getProposalsPerPage(0);
... ... @@ -44,14 +50,14 @@
44 50 vm.proposalsLength = vm.proposals.length;
45 51  
46 52  
47   - if ((vm.proposalsLength % vm.per_page) == 0) {
  53 + if ((vm.proposalsLength % vm.per_page) === 0) {
48 54 vm.pages = vm.proposalsLength / vm.per_page;
49 55 } else{
50   - vm.pages = (vm.proposalsLength / vm.per_page) +1;
51   - };
52   -
53   - vm.arraypages = new Array(Math.ceil(vm.pages));
  56 + vm.pages = (vm.proposalsLength / vm.per_page) + 1;
  57 + }
54 58  
  59 + // vm.arraypages = new Array(Math.ceil(vm.pages));
  60 + vm.arraypages = new Array(Math.floor(vm.pages));
55 61 };
56 62  
57 63 ProposalListController.prototype.loadData = function () {
... ... @@ -64,6 +70,14 @@
64 70 }, 1000);
65 71 };
66 72  
  73 + ProposalListController.prototype.attachListeners = function () {
  74 + var vm = this;
  75 +
  76 + vm.$scope.$watch('vm.proposals', function(/*newValue, oldValue*/) {
  77 + vm.initPorposalList();
  78 + });
  79 + };
  80 +
67 81 ProposalListController.prototype.getProposalsPerPage = function (pageIndex) {
68 82 var vm = this;
69 83  
... ... @@ -97,7 +111,7 @@
97 111 }, {
98 112 location: true
99 113 });
100   - }
  114 + };
101 115  
102 116 function attachPopover(){
103 117 var vm = this;
... ...
src/app/components/proposal-list/proposal-list.html
... ... @@ -47,7 +47,7 @@
47 47 <span aria-hidden="true">&laquo;</span>
48 48 </a>
49 49 </li>
50   - <li ng-repeat="paginas in vm.arraypages track by $index" ng-class="{ 'active' : ($index) == vm.currentPageIndex }" >
  50 + <li ng-repeat="pagina in vm.arraypages track by $index" ng-class="{ 'active' : ($index) == vm.currentPageIndex }" >
51 51 <a href="#" ng-click="vm.showPage($index)">{{::($index)+1}}</a>
52 52 </li>
53 53 <li ng-class="{ 'disabled' : vm.currentPageIndex == (vm.arraypages.length -1)}">
... ...
src/app/index.route.js
... ... @@ -124,7 +124,7 @@
124 124 'main': {
125 125 templateUrl: 'app/pages/propostas/ranking.html',
126 126 controller: 'PropostasPageController',
127   - controllerAs: 'pageRanking'
  127 + controllerAs: 'pagePropostas'
128 128 },
129 129 'footer': { templateUrl: 'app/pages/footer/footer.html' }
130 130 }
... ...
src/app/pages/propostas/propostas.controller.js
... ... @@ -79,7 +79,6 @@
79 79  
80 80 vm.$scope.$on('change-selectedCategory', function (event, selectedCategory) {
81 81 vm.selectedTheme = selectedCategory;
82   - vm.$log.debug('vm.selectedTheme', vm.selectedTheme);
83 82 });
84 83  
85 84 vm.$scope.$watch('pagePropostas.selectedTheme', function(newValue/*, oldValue*/) {
... ...
src/app/pages/propostas/ranking.html
... ... @@ -16,7 +16,7 @@
16 16 </div>
17 17 </div>
18 18 </section>
19   - <section class="section--articles section-gray section-space-up" ng-if="pageRanking.proposals">
  19 + <section class="section--articles section-gray section-space-up" ng-if="pagePropostas.proposals">
20 20 <div class="container">
21 21 <div id="lista-de-propostas" class="row">
22 22 <div class="col-sm-4 col-md-3">
... ... @@ -24,9 +24,9 @@
24 24 <div class="col-xs-12">
25 25 <div class="input-group input-group-lg input-group-search">
26 26 <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label>
27   - <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageRanking.query" placeholder="Buscar propostas" aria-label="Buscar propostas" >
  27 + <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" >
28 28 <span class="input-group-btn">
29   - <button type="button" class="btn btn-default" ng-click="pageRanking.search()">
  29 + <button type="button" class="btn btn-default" ng-click="pagePropostas.search()">
30 30 <span class="icon-circle icon-small color-theme-common-bg">
31 31 <span class="glyphicon glyphicon-search"></span>
32 32 </span>
... ... @@ -37,15 +37,15 @@
37 37 <br/>
38 38 </div>
39 39 </div>
40   - <div ng-if="pageRanking.themes">
41   - <category-list categories="pageRanking.themes" selected-category="pageRanking.selectedTheme"></category-list>
  40 + <div ng-if="pagePropostas.themes">
  41 + <category-list categories="pagePropostas.themes" selected-category="pagePropostas.selectedTheme"></category-list>
42 42 </div>
43   - <div ng-if="!pageRanking.themes && pageRanking.loadingThemes">
  43 + <div ng-if="!pagePropostas.themes && pagePropostas.loadingThemes">
44 44 <div class="alert alert-info" role="alert">
45 45 Carregando temas.
46 46 </div>
47 47 </div>
48   - <div ng-if="!pageRanking.themes && pageRanking.themesError">
  48 + <div ng-if="!pagePropostas.themes && pagePropostas.themesError">
49 49 <div class="alert alert-danger" role="alert">
50 50 Não foi possível carregar a lista de temas neste momento.
51 51 </div>
... ... @@ -56,9 +56,9 @@
56 56 <div class="col-xs-12">
57 57 <div class="input-group input-group-lg input-group-search">
58 58 <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label>
59   - <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageRanking.query" placeholder="Buscar propostas" aria-label="Buscar propostas" >
  59 + <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" >
60 60 <span class="input-group-btn">
61   - <button type="button" class="btn btn-default" ng-click="pageRanking.search()">
  61 + <button type="button" class="btn btn-default" ng-click="pagePropostas.search()">
62 62 <span class="icon-circle icon-small color-theme-common-bg">
63 63 <span class="glyphicon glyphicon-search"></span>
64 64 </span>
... ... @@ -71,21 +71,21 @@
71 71 <div class="row">
72 72 <div class="col-sm-12">
73 73 <header class="header">
74   - <h2>Total de Propostas as propostas: "<span>{{::pageRanking.proposals.length}} propostas</span>"</h2>
  74 + <h2>Total de Propostas as propostas: "<span>{{::pagePropostas.proposals.length}} propostas</span>"</h2>
75 75 </header>
76 76 </div>
77 77 </div>
78 78  
79 79 <div class="row">
80   - <div class="col-sm-12" ng-if="pageRanking.proposals">
81   - <proposal-list proposals="pageRanking.filtredProposals"></proposal-list>
  80 + <div class="col-sm-12" ng-if="pagePropostas.proposals">
  81 + <proposal-list proposals="pagePropostas.filtredProposals"></proposal-list>
82 82 </div>
83   - <div ng-if="!pageRanking.proposals && pageRanking.loadingProposals">
  83 + <div ng-if="!pagePropostas.proposals && pagePropostas.loadingProposals">
84 84 <div class="alert alert-info" role="alert">
85 85 Carregando propostas.
86 86 </div>
87 87 </div>
88   - <div ng-if="!pageRanking.proposals && pageRanking.proposalsError">
  88 + <div ng-if="!pagePropostas.proposals && pagePropostas.proposalsError">
89 89 <div class="alert alert-danger" role="alert">
90 90 Não foi possível carregar a lista de propostas neste momento.
91 91 </div>
... ...