Merge pull request #18 from Freddrickk/dashboard

Add services view, modify dashboard and refactor config
This commit is contained in:
Frédéric Vachon 2015-02-06 16:15:39 -05:00
commit b595bdb559
9 changed files with 55 additions and 22 deletions

View File

@ -5,8 +5,7 @@ angular.element(document).ready(function () {
$.get('components/config/config.json', function (data) {
angular.module('adagios.config').config(['readConfigProvider', function (readConfigProvider) {
readConfigProvider.setDashboardConfig(data.dashboardConfig);
readConfigProvider.setHostsConfig(data.hostsConfig);
readConfigProvider.loadJSON(data);
}]);
angular.bootstrap(document, ['adagios']);
@ -22,7 +21,8 @@ angular.module('adagios', [
'adagios.table',
'adagios.filters',
'adagios.config',
'adagios.view.hosts'
'adagios.view.hosts',
'adagios.view.services'
])
.config(['$routeProvider', function ($routeProvider) {

View File

@ -1,27 +1,21 @@
'use strict';
function AdagiosConfig(dashboardConfig, hostsConfig) {
this.dashboardConfig = dashboardConfig;
this.hostsConfig = hostsConfig;
function AdagiosConfig(data) {
this.data = data;
}
angular.module('adagios.config', [])
.provider('readConfig', function ReadConfigProvider() {
var dashboardConfig = {},
hostsConfig = {};
var data = {};
this.setDashboardConfig = function (value) {
dashboardConfig = value;
};
this.setHostsConfig = function (value) {
hostsConfig = value;
this.loadJSON = function (value) {
data = value;
};
this.$get = [function getConfigFactory() {
return new AdagiosConfig(dashboardConfig, hostsConfig);
return new AdagiosConfig(data);
}];
});

View File

@ -8,5 +8,10 @@
"cells": ["hosts_host", "host_address", "duration", "last_check", "host_status"],
"apiName": "hosts",
"filters": {}
},
"servicesConfig": {
"cells": ["host", "service_check", "duration", "last_check"],
"apiName": "services",
"filters": {}
}
}

View File

@ -8,7 +8,7 @@
<ul class="sub-menu" id="shortcut">
<li><a href="#/dashboard">Dashboard</a></li>
<li><a href="#/hosts">Hosts</a></li>
<li><a href="#">Services</a></li>
<li><a href="#/services">Services</a></li>
<li><a href="#">Networks parents</a></li>
</ul>
</li>

View File

@ -23,7 +23,7 @@ angular.module('adagios.tactical', ['ngRoute',
}])
.run(['readConfig', 'dashboardConfig', function (readConfig, dashboardConfig) {
dashboardConfig.cells = readConfig.dashboardConfig.cells;
dashboardConfig.apiName = readConfig.dashboardConfig.apiName;
dashboardConfig.filters = readConfig.dashboardConfig.filters;
dashboardConfig.cells = readConfig.data.dashboardConfig.cells;
dashboardConfig.apiName = readConfig.data.dashboardConfig.apiName;
dashboardConfig.filters = readConfig.data.dashboardConfig.filters;
}]);

View File

@ -20,7 +20,7 @@ angular.module('adagios.view.hosts', ['ngRoute',
}])
.run(['readConfig', 'hostsConfig', function (readConfig, hostsConfig) {
hostsConfig.cells = readConfig.hostsConfig.cells;
hostsConfig.apiName = readConfig.hostsConfig.apiName;
hostsConfig.filters = readConfig.hostsConfig.filters;
hostsConfig.cells = readConfig.data.hostsConfig.cells;
hostsConfig.apiName = readConfig.data.hostsConfig.apiName;
hostsConfig.filters = readConfig.data.hostsConfig.filters;
}]);

View File

@ -54,6 +54,7 @@
<!-- VIEWS -->
<script src="dashboard/dashboard.js"></script>
<script src="hosts/hosts.js"></script>
<script src="services/services.js"></script>
</head>
<body class="layout color-scheme--dark">

View File

@ -0,0 +1,7 @@
<div ng-controller="ServicesCtrl" id="tactical" class="">
<h2>Services</h2>
<adg-table cells="{{servicesCells}}" api-name="{{servicesApiName}}" filters="{{servicesFilters}}"></adg-table>
</div>

26
app/services/services.js Normal file
View File

@ -0,0 +1,26 @@
'use strict';
angular.module('adagios.view.services', ['ngRoute',
'adagios.table'
])
.value('servicesConfig', {})
.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/services', {
templateUrl: 'services/services.html',
controller: 'ServicesCtrl'
});
}])
.controller('ServicesCtrl', ['$scope', 'servicesConfig', function ($scope, servicesConfig) {
$scope.servicesCells = servicesConfig.cells.join();
$scope.servicesApiName = servicesConfig.apiName;
$scope.servicesFilters = servicesConfig.filters;
}])
.run(['readConfig', 'servicesConfig', function (readConfig, servicesConfig) {
servicesConfig.cells = readConfig.data.servicesConfig.cells;
servicesConfig.apiName = readConfig.data.servicesConfig.apiName;
servicesConfig.filters = readConfig.data.servicesConfig.filters;
}]);