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 24 }
25 25  
26 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 30 TopicsSelectController.prototype.selectTopic = function() {
35 31 var vm = this;
36 32  
37   - if (vm.topicFilter === null) {
  33 + if (vm.selectedTopic === null) {
38 34 vm.$log.debug('Default topic selected.');
39 35 return;
40 36 }
41 37  
42 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 42 var directive = {
... ...
src/app/components/topics-select/topics-select.html
1 1 <div class="topics-dropdown">
2 2 <select
3   - ng-model="vm.topicFilter"
  3 + ng-model="vm.selectedTopic"
4 4 ng-change="vm.selectTopic()"
5 5 ng-options="topic.title for topic in vm.topics track by topic.slug"
6 6 class="form-control">
7   - <option value="">-- Selecione um programa --</option>
8 7 </select>
9 8 </div>
... ...
src/app/pages/propostas/propostas.controller.js
... ... @@ -100,7 +100,6 @@
100 100 var vm = this;
101 101  
102 102 vm.DialogaService.getProgramsByThemeId(themeId, function (programs){
103   - vm.$log.debug('programs', programs);
104 103  
105 104 vm.filtredPrograms = programs;
106 105  
... ... @@ -164,12 +163,16 @@
164 163 vm.$scope.$watch('pagePropostas.selectedTheme', function(newValue, oldValue) {
165 164 vm.search.tema = newValue ? newValue.slug : null;
166 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 174 vm.$scope.$on('change-selectedTopic', function (event, selectedTopic) {
171 175 vm.selectedProgram = selectedTopic;
172   - vm.$log.debug('change-selectedTopic', selectedTopic);
173 176 });
174 177  
175 178 vm.$scope.$watch('pagePropostas.selectedProgram', function(newValue, oldValue) {
... ... @@ -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 191 PropostasPageController.prototype.showAllPrograms = function($event) {
206 192 var vm = this;
207 193 $event.stopPropagation();
... ...
src/app/pages/propostas/ranking.html
... ... @@ -23,7 +23,7 @@
23 23 <div ng-if="pagePropostas.themes">
24 24 <category-list categories="pagePropostas.themes" selected-category="pagePropostas.selectedTheme" disable-unselect="true"></category-list>
25 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 27 <topics-select topics="pagePropostas.filtredPrograms" selected-topic="pagePropostas.selectedProgram"></topics-select>
28 28 </div>
29 29 <div ng-if="!pagePropostas.themes && pagePropostas.loadingThemes">
... ...