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,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 ProgramasPageController.prototype.showAllPrograms = function($event) { 157 ProgramasPageController.prototype.showAllPrograms = function($event) {
143 var vm = this; 158 var vm = this;
144 $event.stopPropagation(); 159 $event.stopPropagation();
src/app/pages/programas/programas.html
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 <label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label> 26 <label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label>
27 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas" > 27 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas" >
28 <span class="input-group-btn"> 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 <span class="icon-circle icon-small color-theme-common-bg"> 30 <span class="icon-circle icon-small color-theme-common-bg">
31 <span class="glyphicon glyphicon-search"></span> 31 <span class="glyphicon glyphicon-search"></span>
32 </span> 32 </span>
@@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
58 <label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label> 58 <label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label>
59 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas" > 59 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas" >
60 <span class="input-group-btn"> 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 <span class="icon-circle icon-small color-theme-common-bg"> 62 <span class="icon-circle icon-small color-theme-common-bg">
63 <span class="glyphicon glyphicon-search"></span> 63 <span class="glyphicon glyphicon-search"></span>
64 </span> 64 </span>
@@ -68,7 +68,7 @@ @@ -68,7 +68,7 @@
68 </div> 68 </div>
69 </div> 69 </div>
70 </div> 70 </div>
71 - <div class="row"> 71 + <div id="search-result" class="row">
72 <div class="col-sm-12"> 72 <div class="col-sm-12">
73 <header class="header"> 73 <header class="header">
74 <h2>Conheça os programas</h2> 74 <h2>Conheça os programas</h2>
src/app/pages/propostas/propostas.controller.js
@@ -6,11 +6,12 @@ @@ -6,11 +6,12 @@
6 .controller('PropostasPageController', PropostasPageController); 6 .controller('PropostasPageController', PropostasPageController);
7 7
8 /** @ngInject */ 8 /** @ngInject */
9 - function PropostasPageController(DialogaService, $scope, $location, $filter, $log) { 9 + function PropostasPageController(DialogaService, $scope, $rootScope, $location, $filter, $log) {
10 var vm = this; 10 var vm = this;
11 11
12 vm.DialogaService = DialogaService; 12 vm.DialogaService = DialogaService;
13 vm.$scope = $scope; 13 vm.$scope = $scope;
  14 + vm.$rootScope = $rootScope;
14 vm.$location = $location; 15 vm.$location = $location;
15 vm.$filter = $filter; 16 vm.$filter = $filter;
16 vm.$log = $log; 17 vm.$log = $log;
@@ -18,6 +19,7 @@ @@ -18,6 +19,7 @@
18 vm.init(); 19 vm.init();
19 vm.loadData(); 20 vm.loadData();
20 // vm.attachListeners(); // attach listeners after load data (SYNC) 21 // vm.attachListeners(); // attach listeners after load data (SYNC)
  22 + vm.$rootScope.focusMainContent();
21 23
22 $log.debug('PropostasPageController'); 24 $log.debug('PropostasPageController');
23 } 25 }
@@ -156,4 +158,19 @@ @@ -156,4 +158,19 @@
156 return output; 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,7 +6,7 @@
6 </div> 6 </div>
7 </div> 7 </div>
8 8
9 -<div class="page--propostas"> 9 +<div class="page--propostas" role="main">
10 10
11 <section class="section-info" ng-if="pagePropostas.loading || pagePropostas.error"> 11 <section class="section-info" ng-if="pagePropostas.loading || pagePropostas.error">
12 <div class="container"> 12 <div class="container">
@@ -46,7 +46,7 @@ @@ -46,7 +46,7 @@
46 <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> 46 <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label>
47 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" > 47 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" >
48 <span class="input-group-btn"> 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 <span class="icon-circle icon-small color-theme-common-bg"> 50 <span class="icon-circle icon-small color-theme-common-bg">
51 <span class="glyphicon glyphicon-search"></span> 51 <span class="glyphicon glyphicon-search"></span>
52 </span> 52 </span>
@@ -78,7 +78,7 @@ @@ -78,7 +78,7 @@
78 <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> 78 <label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label>
79 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" > 79 <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas" >
80 <span class="input-group-btn"> 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 <span class="icon-circle icon-small color-theme-common-bg"> 82 <span class="icon-circle icon-small color-theme-common-bg">
83 <span class="glyphicon glyphicon-search"></span> 83 <span class="glyphicon glyphicon-search"></span>
84 </span> 84 </span>
@@ -89,7 +89,7 @@ @@ -89,7 +89,7 @@
89 </div> 89 </div>
90 </div> 90 </div>
91 91
92 - <div class="row" ng-if="pagePropostas.proposals"> 92 + <div id="search-result" class="row" ng-if="pagePropostas.proposals">
93 <div class="col-sm-12"> 93 <div class="col-sm-12">
94 <header class="header"> 94 <header class="header">
95 <h2>Total de Propostas: "<b>{{pagePropostas.filtredProposals.length}} propostas</b>"</h2> 95 <h2>Total de Propostas: "<b>{{pagePropostas.filtredProposals.length}} propostas</b>"</h2>