Commit a813f8e0c50ecaa23710779d05c4b35d6ff85e3b

Authored by Leonardo Merlin
1 parent 83adfff5

Scroll to focused proposal

src/app/components/proposal-list/proposal-list.directive.js
@@ -109,7 +109,8 @@ @@ -109,7 +109,8 @@
109 slug: proposal.parent.slug, 109 slug: proposal.parent.slug,
110 proposal_id: proposal.id 110 proposal_id: proposal.id
111 }, { 111 }, {
112 - location: true 112 + location: true,
  113 + reload: true
113 }); 114 });
114 }; 115 };
115 116
src/app/pages/programas/programa-content.controller.js
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 .controller('ProgramaContentPageController', ProgramaContentPageController); 6 .controller('ProgramaContentPageController', ProgramaContentPageController);
7 7
8 /** @ngInject */ 8 /** @ngInject */
9 - function ProgramaContentPageController(DialogaService, $state, $location, $scope, $rootScope, $element, $log) { 9 + function ProgramaContentPageController(DialogaService, $state, $location, $scope, $rootScope, $element, $timeout, $log) {
10 $log.debug('ProgramaContentPageController'); 10 $log.debug('ProgramaContentPageController');
11 11
12 var vm = this; 12 var vm = this;
@@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
17 vm.$scope = $scope; 17 vm.$scope = $scope;
18 vm.$rootScope = $rootScope; 18 vm.$rootScope = $rootScope;
19 vm.$element = $element; 19 vm.$element = $element;
  20 + vm.$timeout = $timeout;
20 vm.$log = $log; 21 vm.$log = $log;
21 22
22 vm.init(); 23 vm.init();
@@ -89,8 +90,12 @@ @@ -89,8 +90,12 @@
89 vm.randomProposal = data.articles[0]; 90 vm.randomProposal = data.articles[0];
90 } 91 }
91 92
92 - if(data && data.article){  
93 - vm.randomProposal = data.article; 93 + // scroll to focused proposal
  94 + if(vm.search.proposal_id){
  95 + vm.$timeout(function(){
  96 + var target = angular.element('.focused-proposal');
  97 + angular.element('body').animate({scrollTop: target.offset().top}, 'fast');
  98 + }, 300);
94 } 99 }
95 } 100 }
96 101
src/app/pages/programas/programa.html
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 <h3 class="color-theme-fg">Propostas mais votadas</h3> 62 <h3 class="color-theme-fg">Propostas mais votadas</h3>
63 <proposal-carousel proposals="pageProgramaContent.proposalsTopRated" canVote="true"></proposal-carousel> 63 <proposal-carousel proposals="pageProgramaContent.proposalsTopRated" canVote="true"></proposal-carousel>
64 </div> 64 </div>
65 - <div class="col-xs-12" ng-if="pageProgramaContent.randomProposal"> 65 + <div class="col-xs-12" ng-if="pageProgramaContent.randomProposal" ng-class="{'focused-proposal': !!pageProgramaContent.search.proposal_id}">
66 <h3 class="color-theme-fg">Propostas nesse programa</h3> 66 <h3 class="color-theme-fg">Propostas nesse programa</h3>
67 <proposal-box proposal="pageProgramaContent.randomProposal" topic="pageProgramaContent.article" category="pageProgramaContent.category" vote="true" focus="{{pageProgramaContent.search.proposal_id}}" ></proposal-box> 67 <proposal-box proposal="pageProgramaContent.randomProposal" topic="pageProgramaContent.article" category="pageProgramaContent.category" vote="true" focus="{{pageProgramaContent.search.proposal_id}}" ></proposal-box>
68 </div> 68 </div>