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  })();