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 | 127 | var paramsExtended = angular.extend({ |
128 | 128 | // 'fields[]': ['id', 'title', 'abstract', 'children', 'children_count', 'ranking_position', 'hits', 'votes_for', 'votes_against'], |
129 | 129 | // 'limit':'20', |
130 | - // 'page':'1', | |
130 | + // 'per_page':'1', | |
131 | 131 | 'content_type':'ProposalsDiscussionPlugin::Proposal' |
132 | 132 | }, params); |
133 | 133 | |
... | ... | @@ -173,7 +173,7 @@ |
173 | 173 | // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Topic&query=cisternas |
174 | 174 | var url = '/api/v1/search/article'; |
175 | 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 | 177 | 'type': 'ProposalsDiscussionPlugin::Topic' |
178 | 178 | }, params); |
179 | 179 | ... | ... |
src/app/components/cadastro-proposta/cadastro-proposta.html
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <div class="row linha-proposta"> |
21 | 21 | <div class="col-sm-8"> |
22 | 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 | 24 | <textarea id="proposta" name="proposta" class="texto-proposta form-control" |
25 | 25 | ng-class="{ 'has-error' : formPropostas.proposta.$invalid && formPropostas.proposta.$touched }" |
26 | 26 | ng-model="proposta" | ... | ... |
src/app/components/proposal-list/proposal-list.directive.js
... | ... | @@ -36,6 +36,8 @@ |
36 | 36 | vm.per_page = 5; |
37 | 37 | } |
38 | 38 | |
39 | + vm.proposalsPerPage = vm.getProposalsPerPage(0); | |
40 | + | |
39 | 41 | vm.proposalsLength = vm.proposals.length; |
40 | 42 | }; |
41 | 43 | |
... | ... | @@ -49,6 +51,20 @@ |
49 | 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 | 68 | function attachPopover(){ |
53 | 69 | var vm = this; |
54 | 70 | ... | ... |
src/app/components/proposal-list/proposal-list.html
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | <div class="table-responsive" ng-if="vm.loading"> |
3 | 3 | <div class="table-responsive">Carregando...</div> |
4 | 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 | 6 | <table class="table table-striped"> |
7 | 7 | <thead> |
8 | 8 | <tr> |
... | ... | @@ -10,18 +10,18 @@ |
10 | 10 | Colocação |
11 | 11 | <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a> |
12 | 12 | </th> |
13 | - <th>123 PROPOSTAS</th> | |
13 | + <th>{{vm.proposals.length}} PROPOSTAS</th> | |
14 | 14 | </tr> |
15 | 15 | </thead> |
16 | 16 | <tbody> |
17 | - <tr ng-repeat="proposal in vm.proposals"> | |
17 | + <tr ng-repeat="proposal in vm.proposalsPerPage"> | |
18 | 18 | <td class="color-theme-fg"> |
19 | 19 | <span class="position">{{::($index+1)}}º</span> |
20 | 20 | </td> |
21 | 21 | <td> |
22 | 22 | <div class="row"> |
23 | 23 | <div class="col-xs-12"> |
24 | - <span class="abstract">{{proposal.abstract}}</span> | |
24 | + <div class="abstract" ng-bind-html="proposal.abstract"></div> | |
25 | 25 | </div> |
26 | 26 | </div> |
27 | 27 | <div class="row row-actions"> |
... | ... | @@ -39,5 +39,24 @@ |
39 | 39 | </tr> |
40 | 40 | </tbody> |
41 | 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 | 61 | </div> |
43 | 62 | </div> | ... | ... |
src/app/pages/propostas/ranking.html
1 | 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 | 7 | </div> |
8 | 8 | |
9 | 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 | 98 | </div> | ... | ... |