Commit de0d0a786db539c5c27e4e5f4a80e10f4e9c4693

Authored by Leonardo Merlin
1 parent 94323b65

Fix search button and scroll

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>
... ...