Commit 539cb31e03a1a864d2a08f2b40e4af114cff5f73
1 parent
e0330cec
Exists in
master
and in
4 other branches
paginas propostas. bug no filtro por tema
Showing
3 changed files
with
89 additions
and
9 deletions
Show diff stats
src/app/components/article-service/article.service.js
| ... | ... | @@ -283,6 +283,7 @@ |
| 283 | 283 | function searchProposals (params, cbSuccess, cbError) { |
| 284 | 284 | // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Proposal&query=cisternas |
| 285 | 285 | var url = service.apiSearch + 'article'; |
| 286 | + console.log("URL",url); | |
| 286 | 287 | var paramsExtended = angular.extend({ |
| 287 | 288 | page: 1, |
| 288 | 289 | per_page: 10, |
| ... | ... | @@ -308,6 +309,7 @@ |
| 308 | 309 | UtilService.get(url, {params: paramsExtended}).then(function(data){ |
| 309 | 310 | _pipeInjectSlugIntoParentProgram(data); |
| 310 | 311 | cbSuccess(data); |
| 312 | + console.log("Resposta",data); | |
| 311 | 313 | }).catch(function(error){ |
| 312 | 314 | cbError(error); |
| 313 | 315 | }); | ... | ... |
src/app/pages/propostas/propostas.controller.js
| ... | ... | @@ -32,6 +32,7 @@ |
| 32 | 32 | vm.themes = null; |
| 33 | 33 | vm.selectedTheme = null; |
| 34 | 34 | vm.filtredProposals = null; |
| 35 | + vm.filtredProposalsArchived = null; | |
| 35 | 36 | vm.query = null; |
| 36 | 37 | vm.search = vm.$location.search(); |
| 37 | 38 | |
| ... | ... | @@ -110,6 +111,30 @@ |
| 110 | 111 | vm.selectedTheme = null; |
| 111 | 112 | }; |
| 112 | 113 | |
| 114 | + PropostasPageController.prototype.filtersArchived = function(dataArticles) { | |
| 115 | + | |
| 116 | + var vm = this; | |
| 117 | + var out = []; | |
| 118 | + var input = dataArticles || []; | |
| 119 | + | |
| 120 | + for (var i = 0; i < input.length; i++) { | |
| 121 | + | |
| 122 | + var Proposals = input[i]; | |
| 123 | + console.log('****************************',Proposals.parent.title + ' - ' +Proposals.parent.archived + ' - ' + Proposals.title); | |
| 124 | + | |
| 125 | + if (Proposals.parent.archived) { | |
| 126 | + | |
| 127 | + out.push(Proposals); | |
| 128 | + | |
| 129 | + } | |
| 130 | + | |
| 131 | + } | |
| 132 | + | |
| 133 | + return out | |
| 134 | + | |
| 135 | + }; | |
| 136 | + | |
| 137 | + | |
| 113 | 138 | PropostasPageController.prototype.changePage = function(pageIndex) { |
| 114 | 139 | var vm = this; |
| 115 | 140 | |
| ... | ... | @@ -166,13 +191,25 @@ |
| 166 | 191 | params.category_ids = vm.selectedTheme.id; |
| 167 | 192 | } |
| 168 | 193 | |
| 194 | + | |
| 169 | 195 | if (query) {params.query = query; } |
| 170 | 196 | |
| 171 | - vm.loadingProposals = true; | |
| 172 | - vm.DialogaService.searchProposals(params, function(data){ | |
| 197 | + vm.loadingProposals = true; | |
| 198 | + vm.DialogaService.searchProposals(params, function(data){ | |
| 199 | + | |
| 173 | 200 | vm.total_proposals = parseInt(data._obj.headers('total')); |
| 201 | + | |
| 202 | + // Antigo | |
| 174 | 203 | vm.filtredProposals = data.articles; |
| 204 | + | |
| 205 | + // Novo | |
| 206 | + vm.filtredProposalsArchived = vm.filtersArchived(vm.filtredProposals); | |
| 207 | + | |
| 208 | + // Misto | |
| 209 | + //vm.filtredProposals = vm.filtersArchived(data.articles); | |
| 210 | + | |
| 175 | 211 | vm.loadingProposals = false; |
| 212 | + | |
| 176 | 213 | }, function (error) { |
| 177 | 214 | vm.error = error; |
| 178 | 215 | vm.$log.error(error); |
| ... | ... | @@ -180,9 +217,48 @@ |
| 180 | 217 | }); |
| 181 | 218 | }; |
| 182 | 219 | |
| 183 | - PropostasPageController.prototype.submitSearch = function() { | |
| 220 | + PropostasPageController.prototype.filterProposalsArchived = function(_page, _per_page) { | |
| 184 | 221 | var vm = this; |
| 185 | 222 | |
| 223 | + if (vm.loadingProposals){ | |
| 224 | + vm.$log.debug('Content is not loaded yet.'); | |
| 225 | + return; | |
| 226 | + } | |
| 227 | + | |
| 228 | + var page = _page || vm.page; | |
| 229 | + var per_page = _per_page || vm.per_page; | |
| 230 | + var query = vm.query; | |
| 231 | + var params = { | |
| 232 | + page: page, | |
| 233 | + per_page: per_page, | |
| 234 | + }; | |
| 235 | + | |
| 236 | + if (vm.selectedTheme) { | |
| 237 | + params.category_ids = vm.selectedTheme.id; | |
| 238 | + } | |
| 239 | + | |
| 240 | + | |
| 241 | + if (query) {params.query = query; } | |
| 242 | + | |
| 243 | + vm.loadingProposals = true; | |
| 244 | + vm.DialogaService.searchProposals(params, function(data){ | |
| 245 | + | |
| 246 | + vm.total_proposals = parseInt(data._obj.headers('total')); | |
| 247 | + vm.filtredProposals = vm.filtersArchived(data.articles); | |
| 248 | + | |
| 249 | + vm.loadingProposals = false; | |
| 250 | + }, function (error) { | |
| 251 | + vm.error = error; | |
| 252 | + vm.$log.error(error); | |
| 253 | + vm.loadingProposals = false; | |
| 254 | + }); | |
| 255 | + }; | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + PropostasPageController.prototype.submitSearch = function() { | |
| 260 | + var vm = this; | |
| 261 | + | |
| 186 | 262 | // scroll to result grid |
| 187 | 263 | var $searchResult = angular.element('#search-result'); |
| 188 | 264 | if ($searchResult && $searchResult.length > 0) { | ... | ... |
src/app/pages/propostas/propostas.html
| ... | ... | @@ -22,7 +22,7 @@ |
| 22 | 22 | </div> |
| 23 | 23 | </div> |
| 24 | 24 | </section> |
| 25 | - <section class="section--header" ng-if="pagePropostas.filtredProposals || pagePropostas.themes"> | |
| 25 | + <section class="section--header" ng-if="pagePropostas.filtredProposalsArchived || pagePropostas.themes"> | |
| 26 | 26 | <div class="container"> |
| 27 | 27 | <div class="row"> |
| 28 | 28 | <div class="col-sm-12"> |
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | </div> |
| 32 | 32 | </div> |
| 33 | 33 | </section> |
| 34 | - <section class="section--articles section-gray section-space-up" ng-if="pagePropostas.filtredProposals || pagePropostas.themes"> | |
| 34 | + <section class="section--articles section-gray section-space-up" ng-if="pagePropostas.filtredProposalsArchived || pagePropostas.themes"> | |
| 35 | 35 | <div class="container"> |
| 36 | 36 | <div id="lista-de-propostas" class="row"> |
| 37 | 37 | <div class="col-sm-4 col-md-3"> |
| ... | ... | @@ -67,7 +67,7 @@ |
| 67 | 67 | </div> |
| 68 | 68 | </div> |
| 69 | 69 | <div class="col-sm-8 col-md-9"> |
| 70 | - <div class="row hidden-xs" ng-if="pagePropostas.filtredProposals"> | |
| 70 | + <div class="row hidden-xs" ng-if="pagePropostas.filtredProposalsArchived"> | |
| 71 | 71 | <div class="col-xs-12"> |
| 72 | 72 | <div class="input-group input-group-lg input-group-search"> |
| 73 | 73 | <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> |
| ... | ... | @@ -83,7 +83,7 @@ |
| 83 | 83 | </div> |
| 84 | 84 | </div> |
| 85 | 85 | </div> |
| 86 | - <div id="search-result" class="row" ng-if="pagePropostas.filtredProposals"> | |
| 86 | + <div id="search-result" class="row" ng-if="pagePropostas.filtredProposalsArchived"> | |
| 87 | 87 | <div class="col-sm-12"> |
| 88 | 88 | <header class="header"> |
| 89 | 89 | <h2>Total de Propostas: "<b>{{pagePropostas.total_proposals}} propostas</b>"</h2> |
| ... | ... | @@ -91,8 +91,10 @@ |
| 91 | 91 | </div> |
| 92 | 92 | </div> |
| 93 | 93 | <div class="row"> |
| 94 | - <div class="col-sm-12" ng-if="!pagePropostas.loadingProposals && pagePropostas.filtredProposals && pagePropostas.total_proposals"> | |
| 95 | - <proposal-grid proposals="pagePropostas.filtredProposals"></proposal-grid> | |
| 94 | + <div class="col-sm-12" ng-if="!pagePropostas.loadingProposals && pagePropostas.filtredProposalsArchived && pagePropostas.total_proposals"> | |
| 95 | + | |
| 96 | + <proposal-grid proposals="pagePropostas.filtredProposalsArchived"></proposal-grid> | |
| 97 | + | |
| 96 | 98 | <app-paginator page="pagePropostas.page" per-page="pagePropostas.per_page" total="pagePropostas.total_proposals" change-page="pagePropostas.changePage(pageIndex)"></app-paginator> |
| 97 | 99 | </div> |
| 98 | 100 | <div ng-if="pagePropostas.loadingProposals"> | ... | ... |