diff --git a/app/components/builder/builderController.js b/app/components/builder/builderController.js
index 7af32e1e7..eff32d9ca 100644
--- a/app/components/builder/builderController.js
+++ b/app/components/builder/builderController.js
@@ -1,5 +1,5 @@
angular.module('builder', [])
.controller('BuilderController', ['$scope', 'Dockerfile', 'Messages',
function($scope, Dockerfile, Messages) {
- $scope.template = 'partials/builder.html';
+ $scope.template = 'app/components/builder/builder.html';
}]);
diff --git a/app/components/dashboard/dashboardController.js b/app/components/dashboard/dashboardController.js
index 5512faa68..26b0ebeb2 100644
--- a/app/components/dashboard/dashboardController.js
+++ b/app/components/dashboard/dashboardController.js
@@ -1,15 +1,15 @@
angular.module('dashboard', [])
-.controller('DashboardController', ['$scope', 'Container', 'Image', 'Settings', function($scope, Container, Image, Settings) {
+.controller('DashboardController', ['$scope', 'Container', 'Image', 'Settings', 'LineChart', function($scope, Container, Image, Settings, LineChart) {
$scope.predicate = '-Created';
$scope.containers = [];
var getStarted = function(data) {
$scope.totalContainers = data.length;
- newLineChart('#containers-started-chart', data, function(c) { return new Date(c.Created * 1000).toLocaleDateString(); });
+ LineChart.build('#containers-started-chart', data, function(c) { return new Date(c.Created * 1000).toLocaleDateString(); });
var s = $scope;
Image.query({}, function(d) {
s.totalImages = d.length;
- newLineChart('#images-created-chart', d, function(c) { return new Date(c.Created * 1000).toLocaleDateString(); });
+ LineChart.build('#images-created-chart', d, function(c) { return new Date(c.Created * 1000).toLocaleDateString(); });
});
};
@@ -46,7 +46,7 @@ angular.module('dashboard', [])
getStarted(d);
- var c = getChart('#containers-chart');
+ var c = new Chart($('#containers-chart').get(0).getContext("2d"));
var data = [
{
value: running,
diff --git a/app/components/image/imageController.js b/app/components/image/imageController.js
index a361f3543..6fc7a11b0 100644
--- a/app/components/image/imageController.js
+++ b/app/components/image/imageController.js
@@ -1,6 +1,6 @@
angular.module('image', [])
-.controller('ImageController', ['$scope', '$q', '$routeParams', '$location', 'Image', 'Container', 'Messages',
-function($scope, $q, $routeParams, $location, Image, Container, Messages) {
+.controller('ImageController', ['$scope', '$q', '$routeParams', '$location', 'Image', 'Container', 'Messages', 'LineChart',
+function($scope, $q, $routeParams, $location, Image, Container, Messages, LineChart) {
$scope.history = [];
$scope.tag = {repo: '', force: false};
@@ -29,6 +29,23 @@ function($scope, $q, $routeParams, $location, Image, Container, Messages) {
});
};
+ function getContainersFromImage($q, Container, tag) {
+ var defer = $q.defer();
+
+ Container.query({all:1, notruc:1}, function(d) {
+ var containers = [];
+ for (var i = 0; i < d.length; i++) {
+ var c = d[i];
+ if (c.Image == tag) {
+ containers.push(new ContainerViewModel(c));
+ }
+ }
+ defer.resolve(containers);
+ });
+
+ return defer.promise;
+ }
+
Image.get({id: $routeParams.id}, function(d) {
$scope.image = d;
$scope.tag = d.id;
@@ -38,7 +55,7 @@ function($scope, $q, $routeParams, $location, Image, Container, Messages) {
var promise = getContainersFromImage($q, Container, t);
promise.then(function(containers) {
- newLineChart('#containers-started-chart', containers, function(c) { return new Date(c.Created * 1000).toLocaleDateString(); });
+ LineChart.build('#containers-started-chart', containers, function(c) { return new Date(c.Created * 1000).toLocaleDateString(); });
});
}
}, function(e) {
diff --git a/app/components/startContainer/startContainerController.js b/app/components/startContainer/startContainerController.js
index ad4015242..fc99597af 100644
--- a/app/components/startContainer/startContainerController.js
+++ b/app/components/startContainer/startContainerController.js
@@ -13,6 +13,10 @@ function($scope, $routeParams, $location, Container, Messages) {
};
$scope.commandPlaceholder = '["/bin/echo", "Hello world"]';
+ function failedRequestHandler(e, Messages) {
+ Messages.send({class: 'text-error', data: e.data});
+ }
+
$scope.create = function() {
var cmds = null;
if ($scope.config.commands !== '') {
@@ -39,6 +43,8 @@ function($scope, $routeParams, $location, Container, Messages) {
}, function(e) {
failedRequestHandler(e, Messages);
});
+ } else {
+ failedRequestHandler(d, Messages);
}
}, function(e) {
failedRequestHandler(e, Messages);
diff --git a/app/controllers.js b/app/controllers.js
deleted file mode 100644
index df0fc5157..000000000
--- a/app/controllers.js
+++ /dev/null
@@ -1,70 +0,0 @@
-function newLineChart(id, data, getkey) {
- var chart = getChart(id);
- var map = {};
-
- for (var i = 0; i < data.length; i++) {
- var c = data[i];
- var key = getkey(c);
-
- var count = map[key];
- if (count === undefined) {
- count = 0;
- }
- count += 1;
- map[key] = count;
- }
-
- var labels = [];
- var data = [];
- var keys = Object.keys(map);
-
- for (var i = keys.length - 1; i > -1; i--) {
- var k = keys[i];
- labels.push(k);
- data.push(map[k]);
- }
- var dataset = {
- fillColor : "rgba(151,187,205,0.5)",
- strokeColor : "rgba(151,187,205,1)",
- pointColor : "rgba(151,187,205,1)",
- pointStrokeColor : "#fff",
- data : data
- };
- chart.Line({
- labels: labels,
- datasets: [dataset]
- },
- {
- scaleStepWidth: 1,
- pointDotRadius:1,
- scaleOverride: true,
- scaleSteps: labels.length
- });
-}
-
-function getChart(id) {
- var ctx = $(id).get(0).getContext("2d");
- return new Chart(ctx);
-}
-
-function failedRequestHandler(e, Messages) {
- Messages.send({class: 'text-error', data: e.data});
-}
-
-// This gonna get messy but we don't have a good way to do this right now
-function getContainersFromImage($q, Container, tag) {
- var defer = $q.defer();
-
- Container.query({all:1, notruc:1}, function(d) {
- var containers = [];
- for (var i = 0; i < d.length; i++) {
- var c = d[i];
- if (c.Image == tag) {
- containers.push(new ContainerViewModel(c));
- }
- }
- defer.resolve(containers);
- });
-
- return defer.promise;
-}
diff --git a/app/filters.js b/app/shared/filters.js
similarity index 100%
rename from app/filters.js
rename to app/shared/filters.js
diff --git a/app/services.js b/app/shared/services.js
similarity index 74%
rename from app/services.js
rename to app/shared/services.js
index e8c5bdfce..a8876f32c 100644
--- a/app/services.js
+++ b/app/shared/services.js
@@ -123,4 +123,52 @@ angular.module('dockerui.services', ['ngResource'])
request.send(data);
}
};
+ })
+ .factory('LineChart', function(Settings) {
+ var url = Settings.rawUrl + '/build';
+ return {
+ build: function(id, data, getkey){
+ var chart = new Chart($(id).get(0).getContext("2d"));
+ var map = {};
+
+ for (var i = 0; i < data.length; i++) {
+ var c = data[i];
+ var key = getkey(c);
+
+ var count = map[key];
+ if (count === undefined) {
+ count = 0;
+ }
+ count += 1;
+ map[key] = count;
+ }
+
+ var labels = [];
+ var data = [];
+ var keys = Object.keys(map);
+
+ for (var i = keys.length - 1; i > -1; i--) {
+ var k = keys[i];
+ labels.push(k);
+ data.push(map[k]);
+ }
+ var dataset = {
+ fillColor : "rgba(151,187,205,0.5)",
+ strokeColor : "rgba(151,187,205,1)",
+ pointColor : "rgba(151,187,205,1)",
+ pointStrokeColor : "#fff",
+ data : data
+ };
+ chart.Line({
+ labels: labels,
+ datasets: [dataset]
+ },
+ {
+ scaleStepWidth: 1,
+ pointDotRadius:1,
+ scaleOverride: true,
+ scaleSteps: labels.length
+ });
+ }
+ };
});
diff --git a/app/viewmodel.js b/app/shared/viewmodel.js
similarity index 100%
rename from app/viewmodel.js
rename to app/shared/viewmodel.js
diff --git a/index.html b/index.html
index 3b71065ad..b529c6167 100644
--- a/index.html
+++ b/index.html
@@ -18,7 +18,6 @@
-
@@ -33,9 +32,9 @@
-
-
-
+
+
+
@@ -48,7 +47,6 @@
-