Commit b7e21a20541c9621e727e5bddd83c826af777c2d
1 parent
82273771
Exists in
master
and in
2 other branches
Loading proposals by city
Showing
2 changed files
with
26 additions
and
3 deletions
Show diff stats
ConfJuvApp/www/html/_right_sidebar.html
| @@ -4,7 +4,17 @@ | @@ -4,7 +4,17 @@ | ||
| 4 | <span>Filtros</span> | 4 | <span>Filtros</span> |
| 5 | <button menu-toggle="right" class="button button-icon icon ion-close-circled" hide-when="large"></button> | 5 | <button menu-toggle="right" class="button button-icon icon ion-close-circled" hide-when="large"></button> |
| 6 | </h2> | 6 | </h2> |
| 7 | - <h3>Mostrar apenas propostas do eixo:</h2> | 7 | + <h3 ng-show="user.region"> |
| 8 | + Propostas de {{user.region.full_name}} | ||
| 9 | + <label class="checkbox my-city-cbox"> | ||
| 10 | + <input type="checkbox" ng-click="loadProposalsOfMyCity()"> | ||
| 11 | + </label> | ||
| 12 | + </h3> | ||
| 13 | + <h3 ng-show="!user.region"> | ||
| 14 | + <a ng-click="loadStates()">Adicione sua cidade no seu cadastro se der.</a> | ||
| 15 | + <ng-include ng-show="states.length != 0" src="'html/_select_state.html'"></ng-include> | ||
| 16 | + </h3> | ||
| 17 | + <h3>Mostrar apenas propostas do eixo:</h3> | ||
| 8 | <ion-radio class="radio-balanced" ng-value="'all'" ng-model="topicFilter.value" ng-click="$parent.reloadProposals()">Todos</ion-radio> | 18 | <ion-radio class="radio-balanced" ng-value="'all'" ng-model="topicFilter.value" ng-click="$parent.reloadProposals()">Todos</ion-radio> |
| 9 | <label ng-repeat="topic in topics"> | 19 | <label ng-repeat="topic in topics"> |
| 10 | <ion-radio class="radio-balanced" ng-value="topic.id" ng-model="topicFilter.value" ng-click="$parent.reloadProposals()"> | 20 | <ion-radio class="radio-balanced" ng-value="topic.id" ng-model="topicFilter.value" ng-click="$parent.reloadProposals()"> |
ConfJuvApp/www/js/controllers.js
| @@ -332,6 +332,8 @@ angular.module('confjuvapp.controllers', []) | @@ -332,6 +332,8 @@ angular.module('confjuvapp.controllers', []) | ||
| 332 | $scope.topics = []; | 332 | $scope.topics = []; |
| 333 | $scope.cards = []; | 333 | $scope.cards = []; |
| 334 | $scope.emptyTopicsCount = 0; | 334 | $scope.emptyTopicsCount = 0; |
| 335 | + //FIXME refatoring this variable to make the proposals filters more generic | ||
| 336 | + $scope.proposalsFilter = ''; | ||
| 335 | $scope.topicFilter = { value: 'all' }; | 337 | $scope.topicFilter = { value: 'all' }; |
| 336 | 338 | ||
| 337 | $scope.reloadTopics = function() { | 339 | $scope.reloadTopics = function() { |
| @@ -376,8 +378,19 @@ angular.module('confjuvapp.controllers', []) | @@ -376,8 +378,19 @@ angular.module('confjuvapp.controllers', []) | ||
| 376 | }); | 378 | }); |
| 377 | }; | 379 | }; |
| 378 | 380 | ||
| 379 | - // Load proposals | 381 | + // Load Proposals of My City |
| 382 | + $scope.loadProposalsOfMyCity = function() { | ||
| 383 | + $scope.loading = true; | ||
| 384 | + if($scope.proposalsFilter == ''){ | ||
| 385 | + $scope.proposalsFilter = '&categories_ids=' + $scope.user.region.id; | ||
| 386 | + }else{ | ||
| 387 | + $scope.proposalsFilter = ''; | ||
| 388 | + } | ||
| 389 | + $scope.reloadProposals(); | ||
| 390 | + $scope.loading = false; | ||
| 391 | + } | ||
| 380 | 392 | ||
| 393 | + // Load proposals | ||
| 381 | $scope.loadProposals = function(token, topic) { | 394 | $scope.loadProposals = function(token, topic) { |
| 382 | if ($scope.topicFilter.value != 'all' && topic.id != $scope.topicFilter.value) { | 395 | if ($scope.topicFilter.value != 'all' && topic.id != $scope.topicFilter.value) { |
| 383 | return; | 396 | return; |
| @@ -390,7 +403,7 @@ angular.module('confjuvapp.controllers', []) | @@ -390,7 +403,7 @@ angular.module('confjuvapp.controllers', []) | ||
| 390 | perPage = 11; | 403 | perPage = 11; |
| 391 | } | 404 | } |
| 392 | 405 | ||
| 393 | - var params = '?private_token=' + token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by&content_type=ProposalsDiscussionPlugin::Proposal&limit=' + perPage + '&oldest=younger_than&reference_id=' + topic.lastProposalId; | 406 | + var params = '?private_token=' + token + '&fields=title,image,body,abstract,id,tag_list,categories,created_by&content_type=ProposalsDiscussionPlugin::Proposal&limit=' + perPage + '&oldest=younger_than&reference_id=' + topic.lastProposalId + $scope.proposalsFilter; |
| 394 | 407 | ||
| 395 | var path = 'articles/' + topic.id + '/children' + params; | 408 | var path = 'articles/' + topic.id + '/children' + params; |
| 396 | 409 |