Просмотр исходного кода

Switch archive button with restore button for archived projects

Alasdair Smith 8 лет назад
Родитель
Сommit
5ec238cae8

+ 10 - 1
services/web/app/views/project/list/item.pug

@@ -64,9 +64,18 @@ if settings.overleaf
 		)
 			i.icon.fa.fa-cloud-download
 		button.btn.btn-link.action-btn(
+			ng-if="!project.archived"
 			tooltip=translate('archive'),
 			tooltip-placement="top",
 			tooltip-append-to-body="true",
 			ng-click="archive($event)"
 		)
-			i.icon.fa.fa-inbox
+			i.icon.fa.fa-inbox
+		button.btn.btn-link.action-btn(
+			ng-if="project.archived"
+			tooltip=translate('unarchive'),
+			tooltip-placement="top",
+			tooltip-append-to-body="true",
+			ng-click="restore($event)"
+		)
+			i.icon.fa.fa-reply

+ 9 - 4
services/web/public/coffee/main/project-list/project-list.coffee

@@ -415,13 +415,14 @@ define [
 			$scope.updateVisibleProjects()
 
 		$scope.restoreSelectedProjects = () ->
-			selected_projects = $scope.getSelectedProjects()
-			selected_project_ids = $scope.getSelectedProjectIds()
+			$scope.restoreProjects($scope.getSelectedProjects())
 
-			for project in selected_projects
+		$scope.restoreProjects = (projects) ->
+			projectIds = projects.map (p) -> p.id
+			for project in projects
 				project.archived = false
 
-			for project_id in selected_project_ids
+			for projectId in projectIds
 				queuedHttp {
 					method: "POST"
 					url: "/project/#{project_id}/restore"
@@ -504,3 +505,7 @@ define [
 		$scope.archive = (e) ->
 			e.stopPropagation()
 			$scope.archiveOrLeaveProjects([$scope.project])
+
+		$scope.restore = (e) ->
+			e.stopPropagation()
+			$scope.restoreProjects([$scope.project])