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