Commit 43b414b93a2e368b9e8438526f9ff79e95f7d6cf
Exists in
master
and in
8 other branches
Merge branch 'rafael' into merlin
Showing
5 changed files
with
134 additions
and
99 deletions
Show diff stats
src/app/components/article-service/article.service.js
@@ -127,7 +127,7 @@ | @@ -127,7 +127,7 @@ | ||
127 | var paramsExtended = angular.extend({ | 127 | var paramsExtended = angular.extend({ |
128 | // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'], | 128 | // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'], |
129 | // 'limit':'20', | 129 | // 'limit':'20', |
130 | - // 'page':'1', | 130 | + // 'per_page':'1', |
131 | 'content_type':'ProposalsDiscussionPlugin::Proposal' | 131 | 'content_type':'ProposalsDiscussionPlugin::Proposal' |
132 | }, params); | 132 | }, params); |
133 | 133 | ||
@@ -173,7 +173,7 @@ | @@ -173,7 +173,7 @@ | ||
173 | // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Topic&query=cisternas | 173 | // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Topic&query=cisternas |
174 | var url = '/api/v1/search/article'; | 174 | var url = '/api/v1/search/article'; |
175 | var paramsExtended = angular.extend({ | 175 | var paramsExtended = angular.extend({ |
176 | - 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits'], | 176 | + // 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits'], |
177 | 'type': 'ProposalsDiscussionPlugin::Topic' | 177 | 'type': 'ProposalsDiscussionPlugin::Topic' |
178 | }, params); | 178 | }, params); |
179 | 179 |
src/app/components/cadastro-proposta/cadastro-proposta.html
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | <div class="row linha-proposta"> | 20 | <div class="row linha-proposta"> |
21 | <div class="col-sm-8"> | 21 | <div class="col-sm-8"> |
22 | <span>Descrição da proposta*</span> | 22 | <span>Descrição da proposta*</span> |
23 | - <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a> | 23 | + <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a> |
24 | <textarea id="proposta" name="proposta" class="texto-proposta form-control" | 24 | <textarea id="proposta" name="proposta" class="texto-proposta form-control" |
25 | ng-class="{ 'has-error' : formPropostas.proposta.$invalid && formPropostas.proposta.$touched }" | 25 | ng-class="{ 'has-error' : formPropostas.proposta.$invalid && formPropostas.proposta.$touched }" |
26 | ng-model="proposta" | 26 | ng-model="proposta" |
src/app/components/proposal-list/proposal-list.directive.js
@@ -36,6 +36,8 @@ | @@ -36,6 +36,8 @@ | ||
36 | vm.per_page = 5; | 36 | vm.per_page = 5; |
37 | } | 37 | } |
38 | 38 | ||
39 | + vm.proposalsPerPage = vm.getProposalsPerPage(0); | ||
40 | + | ||
39 | vm.proposalsLength = vm.proposals.length; | 41 | vm.proposalsLength = vm.proposals.length; |
40 | }; | 42 | }; |
41 | 43 | ||
@@ -49,6 +51,20 @@ | @@ -49,6 +51,20 @@ | ||
49 | }, 1000); | 51 | }, 1000); |
50 | }; | 52 | }; |
51 | 53 | ||
54 | + ProposalListController.prototype.getProposalsPerPage = function (pageIndex) { | ||
55 | + var vm = this; | ||
56 | + | ||
57 | + var initialIndex = pageIndex * vm.per_page; | ||
58 | + var finalIndex = initialIndex + vm.per_page; | ||
59 | + | ||
60 | + return vm.proposals.slice(initialIndex, finalIndex); | ||
61 | + }; | ||
62 | + | ||
63 | + ProposalListController.prototype.showPage = function (pageIndex) { | ||
64 | + var vm = this; | ||
65 | + vm.proposalsPerPage = vm.getProposalsPerPage(pageIndex); | ||
66 | + }; | ||
67 | + | ||
52 | function attachPopover(){ | 68 | function attachPopover(){ |
53 | var vm = this; | 69 | var vm = this; |
54 | 70 |
src/app/components/proposal-list/proposal-list.html
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | <div class="table-responsive" ng-if="vm.loading"> | 2 | <div class="table-responsive" ng-if="vm.loading"> |
3 | <div class="table-responsive">Carregando...</div> | 3 | <div class="table-responsive">Carregando...</div> |
4 | </div> | 4 | </div> |
5 | - <div class="table-responsive" ng-if="!vm.loading && vm.proposals"> | 5 | + <div class="table-responsive" ng-if="!vm.loading && vm.proposalsPerPage"> |
6 | <table class="table table-striped"> | 6 | <table class="table table-striped"> |
7 | <thead> | 7 | <thead> |
8 | <tr> | 8 | <tr> |
@@ -10,18 +10,18 @@ | @@ -10,18 +10,18 @@ | ||
10 | Colocação | 10 | Colocação |
11 | <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a> | 11 | <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a> |
12 | </th> | 12 | </th> |
13 | - <th>123 PROPOSTAS</th> | 13 | + <th>{{vm.proposals.length}} PROPOSTAS</th> |
14 | </tr> | 14 | </tr> |
15 | </thead> | 15 | </thead> |
16 | <tbody> | 16 | <tbody> |
17 | - <tr ng-repeat="proposal in vm.proposals"> | 17 | + <tr ng-repeat="proposal in vm.proposalsPerPage"> |
18 | <td class="color-theme-fg"> | 18 | <td class="color-theme-fg"> |
19 | <span class="position">{{::($index+1)}}º</span> | 19 | <span class="position">{{::($index+1)}}º</span> |
20 | </td> | 20 | </td> |
21 | <td> | 21 | <td> |
22 | <div class="row"> | 22 | <div class="row"> |
23 | <div class="col-xs-12"> | 23 | <div class="col-xs-12"> |
24 | - <span class="abstract">{{proposal.abstract}}</span> | 24 | + <div class="abstract" ng-bind-html="proposal.abstract"></div> |
25 | </div> | 25 | </div> |
26 | </div> | 26 | </div> |
27 | <div class="row row-actions"> | 27 | <div class="row row-actions"> |
@@ -39,5 +39,24 @@ | @@ -39,5 +39,24 @@ | ||
39 | </tr> | 39 | </tr> |
40 | </tbody> | 40 | </tbody> |
41 | </table> | 41 | </table> |
42 | + <nav> | ||
43 | + <ul class="pagination"> | ||
44 | + <li> | ||
45 | + <a href="#" aria-label="Previous"> | ||
46 | + <span aria-hidden="true">«</span> | ||
47 | + </a> | ||
48 | + </li> | ||
49 | + <li><a href="#" ng-click="vm.showPage(1)">1</a></li> | ||
50 | + <li><a href="#" ng-click="vm.showPage(2)">2</a></li> | ||
51 | + <li><a href="#" ng-click="vm.showPage(3)">3</a></li> | ||
52 | + <li><a href="#" ng-click="vm.showPage(4)">4</a></li> | ||
53 | + <li><a href="#" ng-click="vm.showPage(5)">5</a></li> | ||
54 | + <li> | ||
55 | + <a href="#" aria-label="Next"> | ||
56 | + <span aria-hidden="true">»</span> | ||
57 | + </a> | ||
58 | + </li> | ||
59 | + </ul> | ||
60 | + </nav> | ||
42 | </div> | 61 | </div> |
43 | </div> | 62 | </div> |
src/app/pages/propostas/ranking.html
1 | <div class="container"> | 1 | <div class="container"> |
2 | - <div class="row"> | ||
3 | - <div class="col-sm-12"> | ||
4 | - <div ncy-breadcrumb></div> | ||
5 | - </div> | ||
6 | - </div> | 2 | + <div class="row"> |
3 | + <div class="col-sm-12"> | ||
4 | + <div ncy-breadcrumb></div> | ||
5 | + </div> | ||
6 | + </div> | ||
7 | </div> | 7 | </div> |
8 | 8 | ||
9 | <div class="page--propostas"> | 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> | 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 | 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> | 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> | 98 | </div> |