github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/public/static/js/build_variant_history.js (about) 1 mciModule.controller('BuildVariantHistoryController',['$scope', '$filter','$window', 'mciBuildVariantHistoryRestService', 'notificationService', function($scope, $filter, $window, 2 mciBuildVariantHistoryRestService, notifier) { 3 $scope.buildVariant = $window.buildVariant; 4 $scope.project = $window.project; 5 $scope.taskNames = $window.taskNames; 6 $scope.versionsByRevision = {}; 7 $scope.versions = []; 8 $scope.tasksByTaskNameByCommit = []; 9 $scope.lastVersionId = ''; 10 11 var buildVersionsByRevisionMap = function(versions) { 12 _.each(versions, function(version) { 13 $scope.versions.push(version); 14 $scope.versionsByRevision[version.revision] = version; 15 }); 16 }; 17 18 var buildTasksByTaskNameCommitMap = function(tasksByCommit) { 19 _.each(tasksByCommit, function(revisionToTasks) { 20 var taskNameTaskMap = {}; 21 _.each(revisionToTasks.tasks, function(task) { 22 taskNameTaskMap[task.display_name] = task; 23 }); 24 25 $scope.tasksByTaskNameByCommit.push({ 26 _id: revisionToTasks._id, 27 tasksByTaskName: taskNameTaskMap 28 }); 29 }); 30 }; 31 32 /* Populate initial page data */ 33 buildVersionsByRevisionMap($window.versions); 34 buildTasksByTaskNameCommitMap($window.tasksByCommit); 35 36 var numVersions = $scope.versions.length; 37 if (numVersions > 0) { 38 $scope.lastVersionId = $scope.versions[numVersions - 1].id; 39 } 40 41 $scope.getGridClass = function(cell) { 42 if (cell) { 43 return $filter('statusFilter')(cell); 44 } 45 46 return "skipped"; 47 }; 48 49 $scope.loadMore = function() { 50 mciBuildVariantHistoryRestService.getBuildVariantHistory( 51 $scope.project, 52 $scope.buildVariant, { 53 format: 'json', 54 before: $scope.lastVersionId, 55 }, { 56 success: function(data, status) { 57 if (data.Versions) { 58 buildVersionsByRevisionMap(data.Versions); 59 $scope.lastVersionId = $scope.versions[$scope.versions.length - 1].id; 60 } 61 62 if (data.Tasks) { 63 buildTasksByTaskNameCommitMap(data.Tasks); 64 } 65 }, 66 67 error: function(jqXHR, status, errorThrown) { 68 notifier.pushNotification('Error getting build variant history: ' + jqXHR,'errorHeader'); 69 } 70 } 71 ); 72 }; 73 }]);