Commit 282a6b71ab3fb82b444a90e92fd7c9ee21bc6062

Authored by Leonardo Merlin
1 parent f69ffc79

Fix topic-selector model reference

src/app/components/topics-select/topics-select.directive.js
@@ -24,23 +24,19 @@ @@ -24,23 +24,19 @@
24 } 24 }
25 25
26 TopicsSelectController.prototype.init = function() { 26 TopicsSelectController.prototype.init = function() {
27 - var vm = this;  
28 -  
29 - // vm.topics = null;  
30 - // vm.selectedTopic = null;  
31 - vm.topicFilter = vm.selectedTopic; 27 + // var vm = this;
32 }; 28 };
33 29
34 TopicsSelectController.prototype.selectTopic = function() { 30 TopicsSelectController.prototype.selectTopic = function() {
35 var vm = this; 31 var vm = this;
36 32
37 - if (vm.topicFilter === null) { 33 + if (vm.selectedTopic === null) {
38 vm.$log.debug('Default topic selected.'); 34 vm.$log.debug('Default topic selected.');
39 return; 35 return;
40 } 36 }
41 37
42 // send event to all controllers 38 // send event to all controllers
43 - vm.$rootScope.$broadcast('change-selectedTopic', vm.topicFilter); 39 + vm.$rootScope.$broadcast('change-selectedTopic', vm.selectedTopic);
44 }; 40 };
45 41
46 var directive = { 42 var directive = {
src/app/components/topics-select/topics-select.html
1 <div class="topics-dropdown"> 1 <div class="topics-dropdown">
2 <select 2 <select
3 - ng-model="vm.topicFilter" 3 + ng-model="vm.selectedTopic"
4 ng-change="vm.selectTopic()" 4 ng-change="vm.selectTopic()"
5 ng-options="topic.title for topic in vm.topics track by topic.slug" 5 ng-options="topic.title for topic in vm.topics track by topic.slug"
6 class="form-control"> 6 class="form-control">
7 - <option value="">-- Selecione um programa --</option>  
8 </select> 7 </select>
9 </div> 8 </div>
src/app/pages/propostas/propostas.controller.js
@@ -100,7 +100,6 @@ @@ -100,7 +100,6 @@
100 var vm = this; 100 var vm = this;
101 101
102 vm.DialogaService.getProgramsByThemeId(themeId, function (programs){ 102 vm.DialogaService.getProgramsByThemeId(themeId, function (programs){
103 - vm.$log.debug('programs', programs);  
104 103
105 vm.filtredPrograms = programs; 104 vm.filtredPrograms = programs;
106 105
@@ -164,12 +163,16 @@ @@ -164,12 +163,16 @@
164 vm.$scope.$watch('pagePropostas.selectedTheme', function(newValue, oldValue) { 163 vm.$scope.$watch('pagePropostas.selectedTheme', function(newValue, oldValue) {
165 vm.search.tema = newValue ? newValue.slug : null; 164 vm.search.tema = newValue ? newValue.slug : null;
166 vm.$location.search('tema', vm.search.tema); 165 vm.$location.search('tema', vm.search.tema);
167 - vm.filtredProposals = vm.getFiltredProposals(); 166 +
  167 + if(vm.selectedTheme && vm.selectedTheme.id){
  168 + vm.loadPrograms(vm.selectedTheme.id, function(){
  169 + vm.filtredProposals = vm.getFiltredProposals();
  170 + });
  171 + }
168 }); 172 });
169 173
170 vm.$scope.$on('change-selectedTopic', function (event, selectedTopic) { 174 vm.$scope.$on('change-selectedTopic', function (event, selectedTopic) {
171 vm.selectedProgram = selectedTopic; 175 vm.selectedProgram = selectedTopic;
172 - vm.$log.debug('change-selectedTopic', selectedTopic);  
173 }); 176 });
174 177
175 vm.$scope.$watch('pagePropostas.selectedProgram', function(newValue, oldValue) { 178 vm.$scope.$watch('pagePropostas.selectedProgram', function(newValue, oldValue) {
@@ -185,23 +188,6 @@ @@ -185,23 +188,6 @@
185 }); 188 });
186 }; 189 };
187 190
188 - // PropostasPageController.prototype.filter = function() {  
189 - // var vm = this;  
190 -  
191 - // if (vm.search && vm.search.tema) {  
192 - // var slug = vm.search.tema;  
193 - // vm.$log.debug('filter by theme', slug);  
194 -  
195 - // vm.DialogaService.getThemeBySlug(slug, function(theme){  
196 - // vm.selectedTheme = theme;  
197 - // vm.$log.debug('getThemeBySlug.slug', slug);  
198 - // vm.$log.debug('getThemeBySlug.selectedTheme', theme);  
199 - // }, function(error){  
200 - // vm.$log.error('Error when try to "getThemeBySlug"', error);  
201 - // });  
202 - // }  
203 - // };  
204 -  
205 PropostasPageController.prototype.showAllPrograms = function($event) { 191 PropostasPageController.prototype.showAllPrograms = function($event) {
206 var vm = this; 192 var vm = this;
207 $event.stopPropagation(); 193 $event.stopPropagation();
src/app/pages/propostas/ranking.html
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 <div ng-if="pagePropostas.themes"> 23 <div ng-if="pagePropostas.themes">
24 <category-list categories="pagePropostas.themes" selected-category="pagePropostas.selectedTheme" disable-unselect="true"></category-list> 24 <category-list categories="pagePropostas.themes" selected-category="pagePropostas.selectedTheme" disable-unselect="true"></category-list>
25 </div> 25 </div>
26 - <div ng-if="pagePropostas.filtredPrograms" class="topics-select--wrapper"> 26 + <div ng-if="pagePropostas.filtredPrograms && pagePropostas.selectedProgram" class="topics-select--wrapper">
27 <topics-select topics="pagePropostas.filtredPrograms" selected-topic="pagePropostas.selectedProgram"></topics-select> 27 <topics-select topics="pagePropostas.filtredPrograms" selected-topic="pagePropostas.selectedProgram"></topics-select>
28 </div> 28 </div>
29 <div ng-if="!pagePropostas.themes && pagePropostas.loadingThemes"> 29 <div ng-if="!pagePropostas.themes && pagePropostas.loadingThemes">