From e896666f593a644f534c447d843d0cc730163190 Mon Sep 17 00:00:00 2001 From: Richard Wall Date: Sun, 13 Jun 2010 23:29:48 +0100 Subject: Rename recipe parser function --- index.html | 8 ++--- jrrd.js | 106 +++++++++++++++++++++++++++++++------------------------------ 2 files changed, 58 insertions(+), 56 deletions(-) diff --git a/index.html b/index.html index 966ed47..953499c 100644 --- a/index.html +++ b/index.html @@ -73,22 +73,22 @@ }); cc.charts = [].concat( - jrrd.collectdChartFactory( + jrrd.Chart.fromRecipe( rrdUrlList, [].concat( jrrd.COLLECTD_RECIPES.cpu, jrrd.COLLECTD_RECIPES.memory, jrrd.COLLECTD_RECIPES.load), templateFactory('.system-charts')), - jrrd.collectdChartFactory( + jrrd.Chart.fromRecipe( rrdUrlList, jrrd.COLLECTD_RECIPES.interface, templateFactory('.network-charts')), - jrrd.collectdChartFactory( + jrrd.Chart.fromRecipe( rrdUrlList, jrrd.COLLECTD_RECIPES.dns, templateFactory('.dns-charts')), - jrrd.collectdChartFactory( + jrrd.Chart.fromRecipe( rrdUrlList, application_recipes, templateFactory('.application-charts')) diff --git a/jrrd.js b/jrrd.js index cab736f..a0a59e4 100644 --- a/jrrd.js +++ b/jrrd.js @@ -457,6 +457,59 @@ jrrd.Chart.prototype.draw = function() { }; +jrrd.Chart.fromRecipe = function(rrdUrlList, recipes, templateFactory) { + /** + * A factory function to generate a list of I{Chart} from a list of recipes + * and a list of available rrd files in collectd path format. + * + * @param rrdUrlList: A list of rrd download paths + * @param recipes: A list of recipe objects + * @param templateFactory: A callable which generates an html template for a + * chart. + **/ + var rrdUrlBlob = rrdUrlList.join('\n') + + var charts = []; + var dataDict = {}; + + var recipe, chartData, template, c, i, j, x, ds, label, rrd, unit, re, match; + + for(i=0; i 0) { + template = templateFactory(); + template.find('.title').text(recipe['title']); + c = new jrrd.Chart(template.find('.chart'), recipe['options']); + for(j=0; j 0) { - template = templateFactory(); - template.find('.title').text(recipe['title']); - c = new jrrd.Chart(template.find('.chart'), recipe['options']); - for(j=0; j