github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/public/static/js/host_admin.js (about) 1 mciModule.controller('AdminOptionsCtrl', ['$scope', 'mciHostRestService', 'notificationService', function($scope, hostRestService, notifier) { 2 $scope.setHostId = function(host) { 3 $scope.host = host; 4 }; 5 6 $scope.filterCurrentHostStatus = function(status) { 7 return status != $scope.host.status; 8 } 9 10 $scope.validHostStatuses = ["running", "decommissioned", "quarantined"].filter($scope.filterCurrentHostStatus); 11 $scope.newStatus = $scope.validHostStatuses[0]; 12 $scope.modalTitle = 'Modify Host'; 13 14 $scope.updateStatus = function() { 15 hostRestService.updateStatus( 16 $scope.host.id, 17 'updateStatus', 18 { status: $scope.newStatus }, 19 { 20 success: function(data, status) { 21 window.location.reload(); 22 }, 23 error: function(jqXHR, status, errorThrown) { 24 notifier.pushNotification('Error updating host status: ' + jqXHR, 'errorModal'); 25 } 26 } 27 ); 28 }; 29 30 $scope.setHostStatus = function(status) { 31 $scope.newStatus = status; 32 }; 33 34 $scope.openAdminModal = function(opt) { 35 $scope.adminOption = opt; 36 $scope.modalOpen = true; 37 var modal = $('#admin-modal').modal('show'); 38 39 if (opt === "statusChange") { 40 modal.on('shown.bs.modal', function() { 41 $scope.modalOpen = true; 42 }); 43 44 modal.on('hide.bs.modal', function() { 45 $scope.modalOpen = false; 46 }); 47 } 48 49 $(document).keyup(function(ev) { 50 if ($scope.modalOpen && ev.keyCode === 13) { 51 if ($scope.adminOption === 'statusChange') { 52 $scope.updateStatus(); 53 $('#admin-modal').modal('hide'); 54 } 55 } 56 }); 57 }; 58 }]); 59 60 61 mciModule.directive('adminUpdateStatus', function() { 62 return { 63 restrict: 'E', 64 templateUrl: '/static/partials/host_status_update.html' 65 }; 66 }); 67