Commit 8f597694a9e0250abee159df5793d73bb3ffc203
Exists in
master
and in
4 other branches
Merge branch 'master' into staging
Showing
7 changed files
with
79 additions
and
4 deletions
Show diff stats
src/app/components/article-service/article.service.js
src/app/components/category-list/category-list.html
| ... | ... | @@ -18,6 +18,9 @@ |
| 18 | 18 | <span class="category-list--label">{{::category.name}}</span> |
| 19 | 19 | <span class="category-list--icon--right glyphicon glyphicon-chevron-right hidden-xs" ng-hide="vm.selectedCategory.slug === category.slug"></span> |
| 20 | 20 | <span class="category-list--icon--right glyphicon glyphicon-remove hidden-xs" ng-show="vm.selectedCategory.slug === category.slug"></span> |
| 21 | + <div ng-if="category.archived" class="category-list--icon-archived"> | |
| 22 | + <span class="glyphicon glyphicon-ok" aria-hidden="true"></span> | |
| 23 | + </div> | |
| 21 | 24 | </button> |
| 22 | 25 | </div> |
| 23 | 26 | </nav> | ... | ... |
src/app/components/category-list/category-list.scss
| ... | ... | @@ -77,6 +77,24 @@ |
| 77 | 77 | } |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | + &--icon-archived { | |
| 81 | + position: absolute; | |
| 82 | + width: 15px; | |
| 83 | + height: 15px; | |
| 84 | + font-size: 12px; | |
| 85 | + bottom: 8px; | |
| 86 | + left: 41px; | |
| 87 | + | |
| 88 | + .glyphicon { | |
| 89 | + position: relative; | |
| 90 | + top: -2px; | |
| 91 | + color: #fff; | |
| 92 | + background-color: #3FC869; | |
| 93 | + padding: 3px; | |
| 94 | + border-radius: 100%; | |
| 95 | + } | |
| 96 | + } | |
| 97 | + | |
| 80 | 98 | .category-list--icon { |
| 81 | 99 | position: absolute; |
| 82 | 100 | top: 6px; | ... | ... |
src/app/components/dialoga-service/dialoga.service.js
| ... | ... | @@ -321,6 +321,40 @@ |
| 321 | 321 | } |
| 322 | 322 | |
| 323 | 323 | _pipeCalcColors(data); |
| 324 | + _pipeCheckArchived(data); | |
| 325 | + } | |
| 326 | + | |
| 327 | + | |
| 328 | + function _pipeCheckArchived(data){ | |
| 329 | + | |
| 330 | + var programs = data.article.children; // Programas | |
| 331 | + var themes = data.article.categories; // Temas | |
| 332 | + | |
| 333 | + // para cada Tema | |
| 334 | + for (var i = themes.length - 1; i >= 0; i--) { | |
| 335 | + var theme = themes[i]; | |
| 336 | + | |
| 337 | + // para cada programa | |
| 338 | + for (var j = programs.length - 1; j >= 0; j--) { | |
| 339 | + var program = programs[j]; | |
| 340 | + | |
| 341 | + // Verifica se o programa 'j' perntece ao tema 'i' | |
| 342 | + if(program.categories && program.categories.length > 0){ | |
| 343 | + if(angular.equals(program.categories[0].slug, theme.slug)){ | |
| 344 | + | |
| 345 | + // Verifica se o programa está 'congelado' (archived) | |
| 346 | + if(program.archived){ | |
| 347 | + theme.archived = true; | |
| 348 | + break; | |
| 349 | + } | |
| 350 | + } | |
| 351 | + } | |
| 352 | + } | |
| 353 | + | |
| 354 | + if(!theme.archived){ | |
| 355 | + theme.archived = false; | |
| 356 | + } | |
| 357 | + } | |
| 324 | 358 | } |
| 325 | 359 | |
| 326 | 360 | function _pipeSetPrograms (data) { | ... | ... |
src/app/pages/programas/programa.controller.js
| ... | ... | @@ -120,6 +120,18 @@ |
| 120 | 120 | // TODO: load and show proposal response |
| 121 | 121 | } |
| 122 | 122 | } |
| 123 | + | |
| 124 | + // HACK: get image from body 'proposal' | |
| 125 | + // remove tags html | |
| 126 | + for (var j = vm.proposalsTopRated.length - 1; j >= 0; j--) { | |
| 127 | + var proposalTopRated = vm.proposalsTopRated[j]; | |
| 128 | + if (proposalTopRated && proposalTopRated.body && proposalTopRated.body.length > 0) { | |
| 129 | + proposalTopRated.body = String(proposalTopRated.body).replace(/<[^>]+>/gm, ''); | |
| 130 | + }else{ | |
| 131 | + proposalTopRated.body = vm.banner.src; | |
| 132 | + } | |
| 133 | + } | |
| 134 | + | |
| 123 | 135 | }, function(error) { |
| 124 | 136 | vm.$log.error(error); |
| 125 | 137 | vm.loadingTopProposals = false; | ... | ... |
src/app/pages/programas/programa.html
| ... | ... | @@ -234,7 +234,7 @@ |
| 234 | 234 | <div class="container"> |
| 235 | 235 | <div class="row"> |
| 236 | 236 | <div class="col-sm-4 col-md-3"> |
| 237 | - <div class="img-mask--container" ng-style="{'background-image':'url( {{::pagePrograma.banner.src}} )'}"> | |
| 237 | + <div class="img-mask--container" ng-style="{'background-image':'url( {{::proposal.body}} )'}"> | |
| 238 | 238 | <div class="img-mask--background"> |
| 239 | 239 | <div class="icon icon-programa-respondido"> |
| 240 | 240 | <div class="icon-circle"> |
| ... | ... | @@ -268,7 +268,6 @@ |
| 268 | 268 | <div ng-if="proposal.response.loading" class="alert alert-info" role="alert">Carregando a resposta e compromisso do governo.</div> |
| 269 | 269 | <div ng-if="proposal.response.error" class="alert alert-warning" role="alert">Erro ao carregar a resposta e compromisso. Tente novamente ou <a ui-sref="duvidas">entre em contato</a>.</div> |
| 270 | 270 | <div ng-if="proposal.response.content"> |
| 271 | - <h3 class="color-theme-fg">Respostas do governo:</h3> | |
| 272 | 271 | <div class="gov-response--content"> |
| 273 | 272 | <div ng-bind-html="proposal.response.content"></div> |
| 274 | 273 | </div> | ... | ... |
src/app/pages/respostas/respostas.controller.js
| ... | ... | @@ -64,7 +64,17 @@ |
| 64 | 64 | // 1. Load themes |
| 65 | 65 | vm.loadingThemes = true; |
| 66 | 66 | vm.DialogaService.getThemes(function(themes) { |
| 67 | - vm.themes = themes; | |
| 67 | + var archivedThemes = []; | |
| 68 | + | |
| 69 | + for (var i = themes.length - 1; i >= 0; i--) { | |
| 70 | + var theme = themes[i]; | |
| 71 | + | |
| 72 | + if(theme.archived){ | |
| 73 | + archivedThemes.push(theme); | |
| 74 | + } | |
| 75 | + } | |
| 76 | + | |
| 77 | + vm.themes = archivedThemes; | |
| 68 | 78 | vm.loadingThemes = false; |
| 69 | 79 | vm.loading = false; |
| 70 | 80 | ... | ... |