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

basic sorting added to project list page

Henry Oswald 12 лет назад
Родитель
Сommit
ca6e8a7d40

+ 4 - 4
services/web/app/views/project/list/project-list.jade

@@ -122,13 +122,13 @@
 								select-all,
 								select-all,
 								type="checkbox"
 								type="checkbox"
 							)
 							)
-							span.header Title
+							span.header(ng-click="changePredicate('name')") Title
 						.col-md-2
 						.col-md-2
-							span.header Owner
+							span.header(ng-click="changePredicate('accessLevel')") Owner
 						.col-md-4
 						.col-md-4
-							span.header Last Modified
+							span.header(ng-click="changePredicate('lastUpdated')") Last Modified
 				li.project_entry.container-fluid(
 				li.project_entry.container-fluid(
-					ng-repeat="project in visibleProjects | orderBy:'lastUpdated':true",
+					ng-repeat="project in visibleProjects | orderBy:predicate:reverse",
 					ng-controller="ProjectListItemController"
 					ng-controller="ProjectListItemController"
 				)
 				)
 					.row
 					.row

+ 6 - 2
services/web/public/coffee/main/project-list.coffee

@@ -57,6 +57,8 @@ define [
 		$scope.allSelected = false
 		$scope.allSelected = false
 		$scope.selectedProjects = []
 		$scope.selectedProjects = []
 		$scope.filter = "all"
 		$scope.filter = "all"
+		$scope.predicate = "lastUpdated"
+		$scope.reverse = false
 
 
 		$scope.windowHeight = $window.innerHeight
 		$scope.windowHeight = $window.innerHeight
 		angular.element($window).bind "resize", () ->
 		angular.element($window).bind "resize", () ->
@@ -75,8 +77,10 @@ define [
 					project.tags ||= []
 					project.tags ||= []
 					project.tags.push tag
 					project.tags.push tag
 
 
-		$scope.$watch "searchText", (value) ->
-			$scope.updateVisibleProjects()
+		$scope.changePredicate = (newPredicate)->
+			if $scope.predicate == newPredicate
+				$scope.reverse = !$scope.reverse
+			$scope.predicate = newPredicate
 
 
 		$scope.clearSearchText = () ->
 		$scope.clearSearchText = () ->
 			$scope.searchText = ""
 			$scope.searchText = ""