mirror of https://github.com/portainer/portainer
Move containers to its own submodule.
parent
c09dfc1276
commit
ce8d349daf
|
@ -1,9 +1,9 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('dockerui', ['ngRoute', 'dockerui.services', 'dockerui.filters', 'masthead', 'footer', 'dashboard', 'container'])
|
angular.module('dockerui', ['ngRoute', 'dockerui.services', 'dockerui.filters', 'masthead', 'footer', 'dashboard', 'container', 'containers'])
|
||||||
.config(['$routeProvider', function ($routeProvider) {
|
.config(['$routeProvider', function ($routeProvider) {
|
||||||
$routeProvider.when('/', {templateUrl: 'app/components/dashboard/dashboard.html', controller: 'DashboardController'});
|
$routeProvider.when('/', {templateUrl: 'app/components/dashboard/dashboard.html', controller: 'DashboardController'});
|
||||||
$routeProvider.when('/containers/', {templateUrl: 'partials/containers.html', controller: 'ContainersController'});
|
$routeProvider.when('/containers/', {templateUrl: 'app/components/containers/containers.html', controller: 'ContainersController'});
|
||||||
$routeProvider.when('/containers/:id/', {templateUrl: 'app/components/container/container.html', controller: 'ContainerController'});
|
$routeProvider.when('/containers/:id/', {templateUrl: 'app/components/container/container.html', controller: 'ContainerController'});
|
||||||
$routeProvider.when('/images/', {templateUrl: 'partials/images.html', controller: 'ImagesController'});
|
$routeProvider.when('/images/', {templateUrl: 'partials/images.html', controller: 'ImagesController'});
|
||||||
$routeProvider.when('/images/:id/', {templateUrl: 'partials/image.html', controller: 'ImageController'});
|
$routeProvider.when('/images/:id/', {templateUrl: 'partials/image.html', controller: 'ImageController'});
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
angular.module('containers', [])
|
||||||
|
.controller('ContainersController', ['$scope', 'Container', 'Settings', 'Messages', 'ViewSpinner',
|
||||||
|
function($scope, Container, Settings, Messages, ViewSpinner) {
|
||||||
|
$scope.predicate = '-Created';
|
||||||
|
$scope.toggle = false;
|
||||||
|
$scope.displayAll = Settings.displayAll;
|
||||||
|
|
||||||
|
var update = function(data) {
|
||||||
|
ViewSpinner.spin();
|
||||||
|
Container.query(data, function(d) {
|
||||||
|
$scope.containers = d.map(function(item) {
|
||||||
|
return new ContainerViewModel(item); });
|
||||||
|
ViewSpinner.stop();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
var batch = function(items, action, msg) {
|
||||||
|
ViewSpinner.spin();
|
||||||
|
var counter = 0;
|
||||||
|
var complete = function() {
|
||||||
|
counter = counter -1;
|
||||||
|
if (counter === 0) {
|
||||||
|
ViewSpinner.stop();
|
||||||
|
update({all: Settings.displayAll ? 1 : 0});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
angular.forEach(items, function(c) {
|
||||||
|
if (c.Checked) {
|
||||||
|
counter = counter + 1;
|
||||||
|
action({id: c.Id}, function(d) {
|
||||||
|
Messages.send("Container " + msg, c.Id);
|
||||||
|
var index = $scope.containers.indexOf(c);
|
||||||
|
complete();
|
||||||
|
}, function(e) {
|
||||||
|
Messages.error("Failure", e.data);
|
||||||
|
complete();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (counter === 0) {
|
||||||
|
ViewSpinner.stop();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.toggleSelectAll = function() {
|
||||||
|
angular.forEach($scope.containers, function(i) {
|
||||||
|
i.Checked = $scope.toggle;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.toggleGetAll = function() {
|
||||||
|
Settings.displayAll = $scope.displayAll;
|
||||||
|
update({all: Settings.displayAll ? 1 : 0});
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.startAction = function() {
|
||||||
|
batch($scope.containers, Container.start, "Started");
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.stopAction = function() {
|
||||||
|
batch($scope.containers, Container.stop, "Stopped");
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.killAction = function() {
|
||||||
|
batch($scope.containers, Container.kill, "Killed");
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.pauseAction = function() {
|
||||||
|
batch($scope.containers, Container.pause, "Paused");
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.unpauseAction = function() {
|
||||||
|
batch($scope.containers, Container.unpause, "Unpaused");
|
||||||
|
};
|
||||||
|
|
||||||
|
$scope.removeAction = function() {
|
||||||
|
batch($scope.containers, Container.remove, "Removed");
|
||||||
|
};
|
||||||
|
|
||||||
|
update({all: Settings.displayAll ? 1 : 0});
|
||||||
|
}]);
|
|
@ -67,87 +67,6 @@ function SettingsController($scope, System, Docker, Settings, Messages) {
|
||||||
System.get({}, function(d) { $scope.info = d; });
|
System.get({}, function(d) { $scope.info = d; });
|
||||||
}
|
}
|
||||||
|
|
||||||
// Controller for the list of containers
|
|
||||||
function ContainersController($scope, Container, Settings, Messages, ViewSpinner) {
|
|
||||||
$scope.predicate = '-Created';
|
|
||||||
$scope.toggle = false;
|
|
||||||
$scope.displayAll = Settings.displayAll;
|
|
||||||
|
|
||||||
var update = function(data) {
|
|
||||||
ViewSpinner.spin();
|
|
||||||
Container.query(data, function(d) {
|
|
||||||
$scope.containers = d.map(function(item) {
|
|
||||||
return new ContainerViewModel(item); });
|
|
||||||
ViewSpinner.stop();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
var batch = function(items, action, msg) {
|
|
||||||
ViewSpinner.spin();
|
|
||||||
var counter = 0;
|
|
||||||
var complete = function() {
|
|
||||||
counter = counter -1;
|
|
||||||
if (counter === 0) {
|
|
||||||
ViewSpinner.stop();
|
|
||||||
update({all: Settings.displayAll ? 1 : 0});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
angular.forEach(items, function(c) {
|
|
||||||
if (c.Checked) {
|
|
||||||
counter = counter + 1;
|
|
||||||
action({id: c.Id}, function(d) {
|
|
||||||
Messages.send("Container " + msg, c.Id);
|
|
||||||
var index = $scope.containers.indexOf(c);
|
|
||||||
complete();
|
|
||||||
}, function(e) {
|
|
||||||
Messages.error("Failure", e.data);
|
|
||||||
complete();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (counter === 0) {
|
|
||||||
ViewSpinner.stop();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.toggleSelectAll = function() {
|
|
||||||
angular.forEach($scope.containers, function(i) {
|
|
||||||
i.Checked = $scope.toggle;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.toggleGetAll = function() {
|
|
||||||
Settings.displayAll = $scope.displayAll;
|
|
||||||
update({all: Settings.displayAll ? 1 : 0});
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.startAction = function() {
|
|
||||||
batch($scope.containers, Container.start, "Started");
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.stopAction = function() {
|
|
||||||
batch($scope.containers, Container.stop, "Stopped");
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.killAction = function() {
|
|
||||||
batch($scope.containers, Container.kill, "Killed");
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.pauseAction = function() {
|
|
||||||
batch($scope.containers, Container.pause, "Paused");
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.unpauseAction = function() {
|
|
||||||
batch($scope.containers, Container.unpause, "Unpaused");
|
|
||||||
};
|
|
||||||
|
|
||||||
$scope.removeAction = function() {
|
|
||||||
batch($scope.containers, Container.remove, "Removed");
|
|
||||||
};
|
|
||||||
|
|
||||||
update({all: Settings.displayAll ? 1 : 0});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Controller for the list of images
|
// Controller for the list of images
|
||||||
function ImagesController($scope, Image, ViewSpinner, Messages) {
|
function ImagesController($scope, Image, ViewSpinner, Messages) {
|
||||||
$scope.toggle = false;
|
$scope.toggle = false;
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
<script src="app/components/footer/footerController.js"></script>
|
<script src="app/components/footer/footerController.js"></script>
|
||||||
<script src="app/components/dashboard/dashboardController.js"></script>
|
<script src="app/components/dashboard/dashboardController.js"></script>
|
||||||
<script src="app/components/container/containerController.js"></script>
|
<script src="app/components/container/containerController.js"></script>
|
||||||
|
<script src="app/components/containers/containersController.js"></script>
|
||||||
<script src="app/viewmodel.js"></script>
|
<script src="app/viewmodel.js"></script>
|
||||||
|
|
||||||
<!-- Fav and touch icons -->
|
<!-- Fav and touch icons -->
|
||||||
|
|
Loading…
Reference in New Issue