Commit de0d0a786db539c5c27e4e5f4a80e10f4e9c4693
1 parent
94323b65
Exists in
master
and in
8 other branches
Fix search button and scroll
Showing
4 changed files
with
40 additions
and
8 deletions
Show diff stats
src/app/pages/programas/programas.controller.js
... | ... | @@ -139,6 +139,21 @@ |
139 | 139 | |
140 | 140 | }; |
141 | 141 | |
142 | + ProgramasPageController.prototype.submitSearch = function() { | |
143 | + var vm = this; | |
144 | + | |
145 | + vm.loadingFilter = true; | |
146 | + | |
147 | + // scroll to result grid | |
148 | + var $searchResult = angular.element('#search-result'); | |
149 | + if ($searchResult && $searchResult.length > 0) { | |
150 | + angular.element('body').animate({scrollTop: $searchResult.offset().top}, 'fast'); | |
151 | + vm.filtredPrograms = vm.getFiltredPrograms(); | |
152 | + }else { | |
153 | + vm.$log.warn('#search-result element not found.'); | |
154 | + } | |
155 | + }; | |
156 | + | |
142 | 157 | ProgramasPageController.prototype.showAllPrograms = function($event) { |
143 | 158 | var vm = this; |
144 | 159 | $event.stopPropagation(); | ... | ... |
src/app/pages/programas/programas.html
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | <label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label> |
27 | 27 | <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas" > |
28 | 28 | <span class="input-group-btn"> |
29 | - <button type="button" class="btn btn-default" ng-click="pageProgramas.search()"> | |
29 | + <button type="button" class="btn btn-default" ng-click="pageProgramas.submitSearch()"> | |
30 | 30 | <span class="icon-circle icon-small color-theme-common-bg"> |
31 | 31 | <span class="glyphicon glyphicon-search"></span> |
32 | 32 | </span> |
... | ... | @@ -58,7 +58,7 @@ |
58 | 58 | <label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label> |
59 | 59 | <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas" > |
60 | 60 | <span class="input-group-btn"> |
61 | - <button type="button" class="btn btn-default" ng-click="pageProgramas.search()"> | |
61 | + <button type="button" class="btn btn-default" ng-click="pageProgramas.submitSearch()"> | |
62 | 62 | <span class="icon-circle icon-small color-theme-common-bg"> |
63 | 63 | <span class="glyphicon glyphicon-search"></span> |
64 | 64 | </span> |
... | ... | @@ -68,7 +68,7 @@ |
68 | 68 | </div> |
69 | 69 | </div> |
70 | 70 | </div> |
71 | - <div class="row"> | |
71 | + <div id="search-result" class="row"> | |
72 | 72 | <div class="col-sm-12"> |
73 | 73 | <header class="header"> |
74 | 74 | <h2>Conheça os programas</h2> | ... | ... |
src/app/pages/propostas/propostas.controller.js
... | ... | @@ -6,11 +6,12 @@ |
6 | 6 | .controller('PropostasPageController', PropostasPageController); |
7 | 7 | |
8 | 8 | /** @ngInject */ |
9 | - function PropostasPageController(DialogaService, $scope, $location, $filter, $log) { | |
9 | + function PropostasPageController(DialogaService, $scope, $rootScope, $location, $filter, $log) { | |
10 | 10 | var vm = this; |
11 | 11 | |
12 | 12 | vm.DialogaService = DialogaService; |
13 | 13 | vm.$scope = $scope; |
14 | + vm.$rootScope = $rootScope; | |
14 | 15 | vm.$location = $location; |
15 | 16 | vm.$filter = $filter; |
16 | 17 | vm.$log = $log; |
... | ... | @@ -18,6 +19,7 @@ |
18 | 19 | vm.init(); |
19 | 20 | vm.loadData(); |
20 | 21 | // vm.attachListeners(); // attach listeners after load data (SYNC) |
22 | + vm.$rootScope.focusMainContent(); | |
21 | 23 | |
22 | 24 | $log.debug('PropostasPageController'); |
23 | 25 | } |
... | ... | @@ -156,4 +158,19 @@ |
156 | 158 | return output; |
157 | 159 | }; |
158 | 160 | |
161 | + PropostasPageController.prototype.submitSearch = function() { | |
162 | + var vm = this; | |
163 | + | |
164 | + vm.loadingFilter = true; | |
165 | + | |
166 | + // scroll to result grid | |
167 | + var $searchResult = angular.element('#search-result'); | |
168 | + if ($searchResult && $searchResult.length > 0) { | |
169 | + angular.element('body').animate({scrollTop: $searchResult.offset().top}, 'fast'); | |
170 | + vm.filtredProposals = vm.getFiltredProposals(); | |
171 | + }else { | |
172 | + vm.$log.warn('#search-result element not found.'); | |
173 | + } | |
174 | + }; | |
175 | + | |
159 | 176 | })(); | ... | ... |
src/app/pages/propostas/propostas.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | </div> |
7 | 7 | </div> |
8 | 8 | |
9 | -<div class="page--propostas"> | |
9 | +<div class="page--propostas" role="main"> | |
10 | 10 | |
11 | 11 | <section class="section-info" ng-if="pagePropostas.loading || pagePropostas.error"> |
12 | 12 | <div class="container"> |
... | ... | @@ -46,7 +46,7 @@ |
46 | 46 | <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> |
47 | 47 | <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" > |
48 | 48 | <span class="input-group-btn"> |
49 | - <button type="button" class="btn btn-default" ng-click="pagePropostas.search()"> | |
49 | + <button type="button" class="btn btn-default" ng-click="pagePropostas.submitSearch()"> | |
50 | 50 | <span class="icon-circle icon-small color-theme-common-bg"> |
51 | 51 | <span class="glyphicon glyphicon-search"></span> |
52 | 52 | </span> |
... | ... | @@ -78,7 +78,7 @@ |
78 | 78 | <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> |
79 | 79 | <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" > |
80 | 80 | <span class="input-group-btn"> |
81 | - <button type="button" class="btn btn-default" ng-click="pagePropostas.search()"> | |
81 | + <button type="button" class="btn btn-default" ng-click="pagePropostas.submitSearch()"> | |
82 | 82 | <span class="icon-circle icon-small color-theme-common-bg"> |
83 | 83 | <span class="glyphicon glyphicon-search"></span> |
84 | 84 | </span> |
... | ... | @@ -89,7 +89,7 @@ |
89 | 89 | </div> |
90 | 90 | </div> |
91 | 91 | |
92 | - <div class="row" ng-if="pagePropostas.proposals"> | |
92 | + <div id="search-result" class="row" ng-if="pagePropostas.proposals"> | |
93 | 93 | <div class="col-sm-12"> |
94 | 94 | <header class="header"> |
95 | 95 | <h2>Total de Propostas: "<b>{{pagePropostas.filtredProposals.length}} propostas</b>"</h2> | ... | ... |