github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/static/app/containers/inspect.controller.js (about) 1 (function(){ 2 'use strict'; 3 4 angular 5 .module('shipyard.containers') 6 .controller('ContainerController', ContainerController); 7 8 ContainerController.$inject = ['resolvedContainer', 'ContainerService', '$state']; 9 function ContainerController(resolvedContainer, ContainerService, $state) { 10 var vm = this; 11 vm.container = resolvedContainer; 12 vm.showDestroyContainerDialog = showDestroyContainerDialog; 13 vm.showRestartContainerDialog = showRestartContainerDialog; 14 vm.showStopContainerDialog = showStopContainerDialog; 15 vm.showPauseContainerDialog = showPauseContainerDialog; 16 vm.destroyContainer = destroyContainer; 17 vm.stopContainer = stopContainer; 18 vm.pauseContainer = pauseContainer; 19 vm.unpauseContainer = unpauseContainer; 20 vm.restartContainer = restartContainer; 21 vm.parseLinkingString = parseLinkingString; 22 vm.isEmptyObject = isEmptyObject; 23 vm.top; 24 vm.stats; 25 vm.links = parseContainerLinks(vm.container.HostConfig.Links); 26 27 if(resolvedContainer.State.Running) { 28 ContainerService.top(resolvedContainer.Id).then(function(data) { 29 vm.top = data 30 }, null); 31 } 32 33 function parseContainerLinks(links) { 34 var l = []; 35 if (links == null) { 36 return l; 37 } 38 for (var i=0; i<links.length; i++) { 39 var parts = links[i].split(':'); 40 var link = { 41 container: parts[0].slice(1), 42 link: parts[1].split('/')[2] 43 } 44 l.push(link) 45 } 46 47 return l; 48 } 49 50 function parseLinkingString(linkingString) { 51 var linkedTo = linkingString.split(':')[0].replace('/',''); 52 var alias = linkingString.split(':')[1]; 53 54 return linkedTo + String.fromCharCode(8594) + alias.substring(alias.lastIndexOf('/')+1, alias.length); 55 } 56 57 function isEmptyObject(obj) { 58 for (var k in obj) { 59 return false; 60 } 61 62 return true; 63 } 64 65 function showDestroyContainerDialog() { 66 vm.selectedContainerId = resolvedContainer.Id; 67 $('.ui.small.destroy.modal').modal('show'); 68 } 69 70 function showRestartContainerDialog() { 71 vm.selectedContainerId = resolvedContainer.Id; 72 $('.ui.small.restart.modal').modal('show'); 73 } 74 75 function showStopContainerDialog() { 76 vm.selectedContainerId = resolvedContainer.Id; 77 $('.ui.small.stop.modal').modal('show'); 78 } 79 80 function showPauseContainerDialog() { 81 vm.selectedContainerId = resolvedContainer.Id; 82 $('.ui.small.pause.modal').modal('show'); 83 } 84 85 function destroyContainer() { 86 ContainerService.destroy(vm.selectedContainerId) 87 .then(function(data) { 88 $state.transitionTo('dashboard.containers'); 89 }, function(data) { 90 vm.error = data; 91 }); 92 } 93 94 function stopContainer() { 95 ContainerService.stop(vm.selectedContainerId) 96 .then(function(data) { 97 $state.reload(); 98 }, function(data) { 99 vm.error = data; 100 }); 101 } 102 103 function pauseContainer() { 104 ContainerService.pause(vm.selectedContainerId) 105 .then(function(data) { 106 $state.reload(); 107 }, function(data) { 108 vm.error = data; 109 }); 110 } 111 112 function unpauseContainer(container) { 113 vm.selectedContainerId = container.Id; 114 ContainerService.unpause(vm.selectedContainerId) 115 .then(function(data) { 116 $state.reload(); 117 }, function(data) { 118 vm.error = data; 119 }); 120 } 121 122 function restartContainer() { 123 ContainerService.restart(vm.selectedContainerId) 124 .then(function(data) { 125 $state.reload(); 126 }, function(data) { 127 vm.error = data; 128 }); 129 } 130 } 131 })();