From 632aa74bf8e1b07474d6ecd43ea0d702c1b20ce2 Mon Sep 17 00:00:00 2001 From: Marc Trudel Date: Sun, 20 Jan 2013 16:05:30 +0900 Subject: [PATCH 1/3] * Now it is possible to specify a group to a service --- api.js | 1 + public/index.html | 65 ++++++++++++++++++++++++++++------------ public/styles/master.css | 8 +++++ 3 files changed, 55 insertions(+), 19 deletions(-) diff --git a/api.js b/api.js index b8353b9..30e06a9 100644 --- a/api.js +++ b/api.js @@ -93,6 +93,7 @@ module.exports.checkAllServices = function() { for (var i = 0; i < settings.services.length; i++) { status.services[i] = {}; status.services[i].name = settings.services[i].name; + status.services[i].group = settings.services[i].group; status.services[i].label = settings.services[i].label; status.services[i].status = 'unknown'; status.services[i].statusCode = 0; diff --git a/public/index.html b/public/index.html index 5897f6d..ef99708 100644 --- a/public/index.html +++ b/public/index.html @@ -44,13 +44,32 @@ }); socket.on('status', function (status) { - var statusTab = _.map(status.services, function(value, key) { return value; }); + var statusTab = []; + var groups = []; + + _.each(status.services, function(value, key) { + if (typeof(value.group) !== 'string') { + value.group = 'others'; + } + + var groupIndex = groups.indexOf(value.group); + + if (groupIndex === -1) { + groupIndex = groups.length; + groups.push(value.group); + statusTab.push({ name:value.group, projects: []}); + }; + + statusTab[groupIndex].projects.push(value); + }); $('#summarize').empty(); $('#projects').empty(); - $("#projectTemplate").template("projectsList"); + + $("#groupTemplate").template("group"); $("#summarizeTemplate").template("summarizeData"); - $.tmpl("projectsList", statusTab).appendTo("#projects"); + + $.tmpl("group", statusTab).appendTo("#projects"); $.tmpl("summarizeData", status.summarize).appendTo("#summarize"); }); @@ -96,17 +115,30 @@ }); }); -