Commit 6f5494df12040669cec374609040c2cc8c2b55cc

Authored by Caio Almeida
1 parent 1247f7ea

Avoid double click on vote and follow links

www/html/_proposal.html
... ... @@ -21,10 +21,10 @@
21 21 <button class="button comment" ng-click="openCommentForm()">
22 22 <i class="icon ion-chatbox-working"></i> <span>Comentar</span>
23 23 </button>
24   - <button class="button follow" ng-click="follow(proposal)" ng-hide="isFollowing(proposal) || proposal.author.id == profile.id">
  24 + <button class="button follow" ng-click="follow(proposal)" ng-hide="clicked || isFollowing(proposal) || proposal.author.id == profile.id">
25 25 <i class="icon ion-eye"></i> <span>Seguir</span>
26 26 </button>
27   - <button class="button vote" ng-click="vote(proposal)" ng-hide="alreadyVoted(proposal) || proposal.author.id == profile.id">
  27 + <button class="button vote" ng-click="vote(proposal)" ng-hide="clicked || alreadyVoted(proposal) || proposal.author.id == profile.id">
28 28 <i class="icon ion-thumbsup"></i> <span>Votar</span>
29 29 </button>
30 30 <br />
... ...
www/html/_proposal_list.html
... ... @@ -56,8 +56,8 @@
56 56 </div>
57 57 <div class="card-footer">
58 58 <a ng-click="openProposal(proposal)" class="icon-left ion-android-open"> Leia Mais</a>
59   - <a ng-click="follow(proposal)" class="icon-left ion-eye" ng-hide="isFollowing(proposal) || proposal.author.id == profile.id"> Seguir</a>
60   - <a class="icon-left ion-thumbsup" ng-click="vote(proposal)" ng-hide="alreadyVoted(proposal) || proposal.author.id == profile.id"> Apoiar</a>
  59 + <a ng-click="follow(proposal)" class="icon-left ion-eye" ng-hide="clicked || isFollowing(proposal) || proposal.author.id == profile.id"> Seguir</a>
  60 + <a class="icon-left ion-thumbsup" ng-click="vote(proposal)" ng-hide="clicked || alreadyVoted(proposal) || proposal.author.id == profile.id"> Apoiar</a>
61 61 </div>
62 62 </div>
63 63 </td-card>
... ...
www/index.html
... ... @@ -42,7 +42,7 @@
42 42 <ng-include src="'html/_header.html?2'"></ng-include>
43 43 <ion-pane>
44 44 <ion-content id="proposals-container" no-scroll="">
45   - <ng-include src="'html/_proposal_list.html?11'"></ng-include>
  45 + <ng-include src="'html/_proposal_list.html?12'"></ng-include>
46 46 </ion-content>
47 47 </ion-pane>
48 48 </ion-side-menu-content>
... ...
www/js/controllers.js
... ... @@ -570,7 +570,7 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
570 570 }
571 571 else {
572 572 // Initiate the modal
573   - $ionicModal.fromTemplateUrl('html/_proposal.html?20', {
  573 + $ionicModal.fromTemplateUrl('html/_proposal.html?21', {
574 574 scope: $scope,
575 575 animation: 'slide-in-up'
576 576 }).then(function(modal) {
... ... @@ -1214,6 +1214,10 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
1214 1214 };
1215 1215  
1216 1216 $scope.vote = function(proposal) {
  1217 + if ($scope.clicked) {
  1218 + return;
  1219 + }
  1220 + $scope.clicked = true;
1217 1221 $scope.loading = true;
1218 1222  
1219 1223 var config = {
... ... @@ -1229,9 +1233,11 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
1229 1233 $scope.voted.push(proposal);
1230 1234 $scope.votedIds.push(proposal.id);
1231 1235 $scope.loading = false;
  1236 + $scope.clicked = false;
1232 1237 }, function(err) {
1233 1238 $ionicPopup.alert({ title: 'Apoiar proposta', template: 'Erro ao apoiar proposta.' });
1234 1239 $scope.loading = false;
  1240 + $scope.clicked = false;
1235 1241 });
1236 1242 };
1237 1243  
... ... @@ -1283,6 +1289,10 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
1283 1289 };
1284 1290  
1285 1291 $scope.follow = function(proposal) {
  1292 + if ($scope.clicked) {
  1293 + return;
  1294 + }
  1295 + $scope.clicked = true;
1286 1296 $scope.loading = true;
1287 1297  
1288 1298 var config = {
... ... @@ -1298,9 +1308,11 @@ angular.module(&#39;confjuvapp.controllers&#39;, [])
1298 1308 $scope.following.push(proposal);
1299 1309 $scope.followingIds.push(proposal.id);
1300 1310 $scope.loading = false;
  1311 + $scope.clicked = false;
1301 1312 }, function(err) {
1302 1313 $ionicPopup.alert({ title: 'Seguir proposta', template: 'Erro ao seguir proposta.' });
1303 1314 $scope.loading = false;
  1315 + $scope.clicked = false;
1304 1316 });
1305 1317 };
1306 1318  
... ...