summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJosh Blum2013-03-28 22:30:42 -0500
committerJosh Blum2013-03-28 22:30:42 -0500
commit4d1cabf10e654faa3017225bc47763a1b80aab0f (patch)
treea75efe0cef7839b72f0caa6c54539a42750f9941 /python
parentfd5e1bdc2331f4dd8dc5a07d4b0b9a568fa8d8ff (diff)
downloadsandhi-4d1cabf10e654faa3017225bc47763a1b80aab0f.tar.gz
sandhi-4d1cabf10e654faa3017225bc47763a1b80aab0f.tar.bz2
sandhi-4d1cabf10e654faa3017225bc47763a1b80aab0f.zip
gras: cleanup factory and init ordering
Diffstat (limited to 'python')
-rw-r--r--python/gras/query/chart_factory.js67
-rw-r--r--python/gras/query/main.js25
2 files changed, 41 insertions, 51 deletions
diff --git a/python/gras/query/chart_factory.js b/python/gras/query/chart_factory.js
index bd51c53..20715a6 100644
--- a/python/gras/query/chart_factory.js
+++ b/python/gras/query/chart_factory.js
@@ -16,7 +16,6 @@ var gras_chart_get_registry = function()
**********************************************************************/
function gras_chart_factory_active_blocks(registry)
{
- if (!('active_charts' in registry)) return "";
var block_ids = new Array();
$.each(registry.active_charts, function(index, chart_info)
{
@@ -38,34 +37,6 @@ function gras_chart_factory_update(registry, point)
}
/***********************************************************************
- * One time setup
- **********************************************************************/
-function gras_chart_factory_setup(registry, data)
-{
- //gui init for factory controls
- gras_chart_factory_init(registry);
-
- //block registry and checkboxes init
- $.each(data.blocks, function(index, id)
- {
- registry.block_ids.push(id);
- var container = $('#chart_designer_blocks');
- var div = $('<div />');
- $(div).append('<label>' + id + '</label>');
- var input = $('<input />').attr({
- type: 'checkbox',
- name: id
- });
- input.attr('checked', false);
- $(div).append(input);
- $(container).append(div);
- });
-
- //try to load last settings
- try{gras_chart_load(registry);}catch(e){}
-}
-
-/***********************************************************************
* chart factory input handler
**********************************************************************/
function gras_chart_factory_handle_input(registry)
@@ -218,20 +189,9 @@ function gras_chart_factory_make(registry, args)
}
/***********************************************************************
- * chart factory handle online/offline
- **********************************************************************/
-function gras_chart_factory_online(registry)
-{
- if (!registry.online) registry.offline_count++;
- if (registry.online) $('#page').css('background-color', '#EEEEFF');
- else if (registry.offline_count%2 == 0) $('#page').css('background-color', '#FF4848');
- else if (registry.offline_count%2 == 1) $('#page').css('background-color', '#EEEEFF');
-}
-
-/***********************************************************************
* chart factory init
**********************************************************************/
-function gras_chart_factory_init(registry)
+function gras_chart_factory_init(registry, done_cb)
{
//init registry containers
registry.active_charts = new Array();
@@ -273,4 +233,29 @@ function gras_chart_factory_init(registry)
if (registry.overall_active) gras_query_stats(registry);
else window.clearInterval(registry.timeout_handle);
});
+
+ //block registry and checkboxes init
+ $.getJSON('/blocks.json', function(data)
+ {
+ $.each(data.blocks, function(index, id)
+ {
+ registry.block_ids.push(id);
+ var container = $('#chart_designer_blocks');
+ var div = $('<div />');
+ $(div).append('<label>' + id + '</label>');
+ var input = $('<input />').attr({
+ type: 'checkbox',
+ name: id
+ });
+ input.attr('checked', false);
+ $(div).append(input);
+ $(container).append(div);
+ });
+
+ //try to load last settings
+ try{gras_chart_load(registry);}catch(e){}
+
+ //done callback because getJSON was async
+ done_cb(registry);
+ });
}
diff --git a/python/gras/query/main.js b/python/gras/query/main.js
index ff05b15..a12457e 100644
--- a/python/gras/query/main.js
+++ b/python/gras/query/main.js
@@ -17,6 +17,17 @@ var GrasStatsRegistry = function()
}
/***********************************************************************
+ * Server offline animation
+ **********************************************************************/
+function gras_handle_offline(registry)
+{
+ if (!registry.online) registry.offline_count++;
+ if (registry.online) $('#page').css('background-color', '#EEEEFF');
+ else if (registry.offline_count%2 == 0) $('#page').css('background-color', '#FF4848');
+ else if (registry.offline_count%2 == 1) $('#page').css('background-color', '#EEEEFF');
+}
+
+/***********************************************************************
* Query stats
**********************************************************************/
var gras_query_stats = function(registry)
@@ -31,7 +42,7 @@ var gras_query_stats = function(registry)
success: function(response)
{
registry.online = true;
- gras_chart_factory_online(registry);
+ gras_handle_offline(registry);
if (registry.overall_active)
{
gras_chart_factory_update(registry, response);
@@ -45,7 +56,7 @@ var gras_query_stats = function(registry)
error: function()
{
registry.online = false;
- gras_chart_factory_online(registry);
+ gras_handle_offline(registry);
registry.timeout_handle = window.setTimeout(function()
{
gras_query_stats(registry);
@@ -70,12 +81,6 @@ var gras_stats_main = function()
document.title += ' - ' + registry.top_id;
});
- //query the stats for initial setup
- $.getJSON('/blocks.json', function(data)
- {
- gras_chart_factory_setup(registry, data);
- });
-
- //start the query loop in the background
- gras_query_stats(registry);
+ //initialize the charts factory
+ gras_chart_factory_init(registry, gras_query_stats);
}