Commit 7d7a54f788ce6551edda7a87423847db06184bea

Authored by Leonardo Merlin
1 parent 16ed9593

Add ranking page

src/app/components/proposal-list/proposal-list.directive.js
@@ -46,7 +46,7 @@ @@ -46,7 +46,7 @@
46 // requeue to wait until DOM be created 46 // requeue to wait until DOM be created
47 vm.$timeout(function(){ 47 vm.$timeout(function(){
48 attachPopover.call(vm); 48 attachPopover.call(vm);
49 - }, 100); 49 + }, 1000);
50 }; 50 };
51 51
52 function attachPopover(){ 52 function attachPopover(){
src/app/components/proposal-list/proposal-list.html
@@ -9,8 +9,7 @@ @@ -9,8 +9,7 @@
9 <tr> 9 <tr>
10 <th> 10 <th>
11 Colocação 11 Colocação
12 - <!-- <button type="button" class="btn btn-link btn-question">?</button> -->  
13 - <a tabindex="0" class="btn btn-link btn-questionr" role="button" data-toggle="popover" data-trigger="focus">?</a> 12 + <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a>
14 </th> 13 </th>
15 <th>123 PROPOSTAS</th> 14 <th>123 PROPOSTAS</th>
16 </tr> 15 </tr>
src/app/index.route.js
@@ -130,6 +130,19 @@ @@ -130,6 +130,19 @@
130 'footer': { templateUrl: 'app/pages/footer/footer.html' } 130 'footer': { templateUrl: 'app/pages/footer/footer.html' }
131 } 131 }
132 }) 132 })
  133 + .state('ranking', {
  134 + url: '/ranking',
  135 + ncyBreadcrumb: {label: 'Propostas'},
  136 + views: {
  137 + 'header': { templateUrl: 'app/pages/header/header.html' },
  138 + 'main': {
  139 + templateUrl: 'app/pages/propostas/ranking.html',
  140 + controller: 'PropostasPageController',
  141 + controllerAs: 'pageRanking'
  142 + },
  143 + 'footer': { templateUrl: 'app/pages/footer/footer.html' }
  144 + }
  145 + })
133 // apenas para teste do cadastro das propostas 146 // apenas para teste do cadastro das propostas
134 .state('cadastro-propostas', { 147 .state('cadastro-propostas', {
135 url: '/cadastro-propostas', 148 url: '/cadastro-propostas',
src/app/pages/propostas/propostas.controller.js
  1 +/**
  2 + * Controlador das páginas:
  3 + * - Propostas
  4 + * - Ranking
  5 + */
1 (function() { 6 (function() {
2 'use strict'; 7 'use strict';
3 8
src/app/pages/propostas/ranking.html 0 → 100644
@@ -0,0 +1,98 @@ @@ -0,0 +1,98 @@
  1 +<div class="container">
  2 + <div class="row">
  3 + <div class="col-sm-12">
  4 + <div ncy-breadcrumb></div>
  5 + </div>
  6 + </div>
  7 +</div>
  8 +
  9 +<div class="page--propostas">
  10 + <section class="section--info">
  11 + <div class="container">
  12 + <div class="row">
  13 + <div class="col-sm-12">
  14 + <h1>Ranking</h1>
  15 + </div>
  16 + </div>
  17 + </div>
  18 + </section>
  19 + <section class="section--articles section-gray section-space-up" ng-if="pageRanking.proposals">
  20 + <div class="container">
  21 + <div id="lista-de-propostas" class="row">
  22 + <div class="col-sm-4 col-md-3">
  23 + <div class="row visible-xs">
  24 + <div class="col-xs-12">
  25 + <div class="input-group input-group-lg input-group-search">
  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" >
  28 + <span class="input-group-btn">
  29 + <button type="button" class="btn btn-default" ng-click="pageRanking.search()">
  30 + <span class="icon-circle icon-small color-theme-common-bg">
  31 + <span class="glyphicon glyphicon-search"></span>
  32 + </span>
  33 + <span class="sr-only">Buscar</span>
  34 + </button>
  35 + </span>
  36 + </div>
  37 + <br/>
  38 + </div>
  39 + </div>
  40 + <div ng-if="pageRanking.themes">
  41 + <category-list categories="pageRanking.themes" selected-category="pageRanking.selectedTheme"></category-list>
  42 + </div>
  43 + <div ng-if="!pageRanking.themes && pageRanking.loadingThemes">
  44 + <div class="alert alert-info" role="alert">
  45 + Carregando temas.
  46 + </div>
  47 + </div>
  48 + <div ng-if="!pageRanking.themes && pageRanking.themesError">
  49 + <div class="alert alert-danger" role="alert">
  50 + Não foi possível carregar a lista de temas neste momento.
  51 + </div>
  52 + </div>
  53 + </div>
  54 + <div class="col-sm-8 col-md-9">
  55 + <div class="row hidden-xs">
  56 + <div class="col-xs-12">
  57 + <div class="input-group input-group-lg input-group-search">
  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" >
  60 + <span class="input-group-btn">
  61 + <button type="button" class="btn btn-default" ng-click="pageRanking.search()">
  62 + <span class="icon-circle icon-small color-theme-common-bg">
  63 + <span class="glyphicon glyphicon-search"></span>
  64 + </span>
  65 + <span class="sr-only">Buscar</span>
  66 + </button>
  67 + </span>
  68 + </div>
  69 + </div>
  70 + </div>
  71 + <div class="row">
  72 + <div class="col-sm-12">
  73 + <header class="header">
  74 + <h2>Total de Propostas as propostas: "<span>{{::pageRanking.proposals.length}} propostas</span>"</h2>
  75 + </header>
  76 + </div>
  77 + </div>
  78 +
  79 + <div class="row">
  80 + <div class="col-sm-12" ng-if="pageRanking.proposals">
  81 + <proposal-list proposals="pageRanking.filtredProposals"></proposal-list>
  82 + </div>
  83 + <div ng-if="!pageRanking.proposals && pageRanking.loadingProposals">
  84 + <div class="alert alert-info" role="alert">
  85 + Carregando propostas.
  86 + </div>
  87 + </div>
  88 + <div ng-if="!pageRanking.proposals && pageRanking.proposalsError">
  89 + <div class="alert alert-danger" role="alert">
  90 + Não foi possível carregar a lista de propostas neste momento.
  91 + </div>
  92 + </div>
  93 + </div>
  94 + </div>
  95 + </div>
  96 + </div>
  97 + </section>
  98 +</div>