Преглед изворни кода

Preemptively remove front-end data when removing user emails.

Paulo Reis пре 8 година
родитељ
комит
c630c5d952

+ 2 - 2
services/web/app/views/user/settings/user-affiliations.pug

@@ -59,13 +59,13 @@ form.row(
 						a(
 							href
 							ng-if="!userEmail.default"
-							ng-click="setDefaultUserEmail(userEmail.email)"
+							ng-click="setDefaultUserEmail(userEmail)"
 						) Make default
 						br
 						a(
 							href
 							ng-if="!userEmail.default"
-							ng-click="removeUserEmail(userEmail.email)"
+							ng-click="removeUserEmail(userEmail)"
 						) Remove
 				tr.affiliations-table-highlighted-row(
 					ng-if="ui.isLoadingEmails"

+ 7 - 4
services/web/public/coffee/main/affiliations/controllers/UserAffiliationsController.coffee

@@ -97,16 +97,19 @@ define [
 				_reset()
 				_getUserEmails()
 
-		$scope.setDefaultUserEmail = (email) ->
+		$scope.setDefaultUserEmail = (userEmail) ->
 			$scope.ui.isLoadingEmails = true
 			UserAffiliationsDataService
-				.setDefaultUserEmail email
+				.setDefaultUserEmail userEmail.email
 				.then () -> _getUserEmails()
 
-		$scope.removeUserEmail = (email) ->
+		$scope.removeUserEmail = (userEmail) ->
 			$scope.ui.isLoadingEmails = true
+			userEmailIdx = _.indexOf $scope.userEmails, userEmail
+			if userEmailIdx > -1
+				$scope.userEmails.splice userEmailIdx, 1
 			UserAffiliationsDataService
-				.removeUserEmail email
+				.removeUserEmail userEmail.email
 				.then () -> _getUserEmails()
 
 		_reset = () ->