diff options
author | Josh Blum | 2013-03-28 22:30:42 -0500 |
---|---|---|
committer | Josh Blum | 2013-03-28 22:30:42 -0500 |
commit | 4d1cabf10e654faa3017225bc47763a1b80aab0f (patch) | |
tree | a75efe0cef7839b72f0caa6c54539a42750f9941 /python | |
parent | fd5e1bdc2331f4dd8dc5a07d4b0b9a568fa8d8ff (diff) | |
download | sandhi-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.js | 67 | ||||
-rw-r--r-- | python/gras/query/main.js | 25 |
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); } |