summaryrefslogtreecommitdiff
path: root/python/gras
diff options
context:
space:
mode:
authorJosh Blum2013-03-23 13:27:50 -0500
committerJosh Blum2013-03-23 13:27:50 -0500
commitc3bcc58d97b6922d4f43254ffb6daf7b2810db0e (patch)
treed83708c0d6372089de0da453804e00f7da38dbb8 /python/gras
parent4b69b25f87b44a43dc7e15acb0320905ae3712de (diff)
downloadsandhi-c3bcc58d97b6922d4f43254ffb6daf7b2810db0e.tar.gz
sandhi-c3bcc58d97b6922d4f43254ffb6daf7b2810db0e.tar.bz2
sandhi-c3bcc58d97b6922d4f43254ffb6daf7b2810db0e.zip
gras: begin stubs for chart factory
Diffstat (limited to 'python/gras')
-rw-r--r--python/gras/stats/CMakeLists.txt3
-rw-r--r--python/gras/stats/chart_factory.js40
-rw-r--r--python/gras/stats/chart_handler_breakdown.js4
-rw-r--r--python/gras/stats/chart_overall_throughput.js4
-rw-r--r--python/gras/stats/chart_overhead_compare.js4
-rw-r--r--python/gras/stats/main.html14
-rw-r--r--python/gras/stats/main.js3
-rw-r--r--python/gras/stats/utils.js16
8 files changed, 78 insertions, 10 deletions
diff --git a/python/gras/stats/CMakeLists.txt b/python/gras/stats/CMakeLists.txt
index 9aa2ace..c1e50d6 100644
--- a/python/gras/stats/CMakeLists.txt
+++ b/python/gras/stats/CMakeLists.txt
@@ -18,6 +18,9 @@ INSTALL(
utils.js
charts.js
chart_factory.js
+ chart_overhead_compare.js
+ chart_overall_throughput.js
+ chart_handler_breakdown.js
main.css
DESTINATION ${GR_PYTHON_DIR}/gras/stats
COMPONENT ${GRAS_COMP_PYTHON}
diff --git a/python/gras/stats/chart_factory.js b/python/gras/stats/chart_factory.js
index 04f0965..f2cc8f2 100644
--- a/python/gras/stats/chart_factory.js
+++ b/python/gras/stats/chart_factory.js
@@ -24,5 +24,43 @@ var gras_chart_factory_setup = function(registry)
**********************************************************************/
var gras_chart_factory_dispatcher = function()
{
- alert('foo');
+ //step 1) get a list of the selected blocks
+ var selected_blocks = new Array();
+ $.each($('.chart_designer_blocks > :input'), function(index, input)
+ {
+ var input = $(input);
+ if (input.is(':checked'))
+ {
+ selected_blocks.append(input.attr('name'));
+ }
+ });
+
+ //step 2) get the type of chart to create
+ var chart_type = $('#chart_type_selector').val();
+
+ //step 3) input validations
+}
+
+/***********************************************************************
+ * chart factory init
+ **********************************************************************/
+var gras_chart_registry = new Array();
+var gras_chart_factory_init = function()
+{
+ //install callback for chart factory
+ $('#chart_factory_button').click(gras_chart_factory_dispatcher);
+
+ //list of all known chart types
+ var chart_options = [
+ {key:'overhead_compare', name:'Overhead Compare', factory:GrasChartOverheadCompare},
+ {key:'overall_throughput', name:'Overall Throughput', factory:GrasChartOverallThroughput},
+ {key:'handler_breakdown', name:'Handler Breakdown', factory:GrasChartHandlerBreakdown},
+ ];
+
+ //init the chart selection input
+ $.each(chart_options, function(index, options)
+ {
+ gras_chart_registry[options['key']] = options['factory'];
+ $('#chart_type_selector').append('<option value=' + options['key'] + '>' + options['name'] + '</option>');
+ });
}
diff --git a/python/gras/stats/chart_handler_breakdown.js b/python/gras/stats/chart_handler_breakdown.js
new file mode 100644
index 0000000..3e8ffd3
--- /dev/null
+++ b/python/gras/stats/chart_handler_breakdown.js
@@ -0,0 +1,4 @@
+function GrasChartHandlerBreakdown(args)
+{
+
+}
diff --git a/python/gras/stats/chart_overall_throughput.js b/python/gras/stats/chart_overall_throughput.js
new file mode 100644
index 0000000..13319ee
--- /dev/null
+++ b/python/gras/stats/chart_overall_throughput.js
@@ -0,0 +1,4 @@
+function GrasChartOverallThroughput(args)
+{
+
+}
diff --git a/python/gras/stats/chart_overhead_compare.js b/python/gras/stats/chart_overhead_compare.js
new file mode 100644
index 0000000..0a5d1d9
--- /dev/null
+++ b/python/gras/stats/chart_overhead_compare.js
@@ -0,0 +1,4 @@
+function GrasChartOverheadCompare(args)
+{
+
+}
diff --git a/python/gras/stats/main.html b/python/gras/stats/main.html
index 5ad40f6..5a2b99c 100644
--- a/python/gras/stats/main.html
+++ b/python/gras/stats/main.html
@@ -5,6 +5,7 @@
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>GRAS Status Monitor</title>
<link rel="stylesheet" type="text/css" href="/main.css" />
+ <link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
@@ -12,6 +13,9 @@
<script type="text/javascript" src="/utils.js"></script>
<script type="text/javascript" src="/charts.js"></script>
<script type="text/javascript" src="/chart_factory.js"></script>
+ <script type="text/javascript" src="/chart_overhead_compare.js"></script>
+ <script type="text/javascript" src="/chart_overall_throughput.js"></script>
+ <script type="text/javascript" src="/chart_handler_breakdown.js"></script>
<script type="text/javascript" src="/main.js"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
@@ -29,13 +33,7 @@
</tr>
<tr>
<td class="chart_designer_blocks"></td>
- <td>
- <select>
- <option value="overhead_compare">Overhead Compare</option>
- <option value="overall_throughput">Overall Throughput</option>
- <option value="handler_breakdown">Handler Breakdown</option>
- </select>
- </td>
+ <td><select id="chart_type_selector" /></td>
<td>Updates/sec: <input type="number" name="rate" min="1" max="10" size="4" /></td>
</tr>
<tr>
@@ -82,6 +80,8 @@
</div>
<div id="per_block_charts">
</div>
+ <div style="display:none" id="div-dialog-warning">
+ </div>
</body>
</html>
diff --git a/python/gras/stats/main.js b/python/gras/stats/main.js
index 5b27099..0ad500e 100644
--- a/python/gras/stats/main.js
+++ b/python/gras/stats/main.js
@@ -41,8 +41,7 @@ var gras_stats_main = function()
gras_setup_overall_chart(registry);
gras_setup_overall_chart_pie(registry);
- //install callback for chart factory
- $('#chart_factory_button').click(gras_chart_factory_dispatcher);
+ gras_chart_factory_init();
//init overall config gui element for rate
var overall_rate = $('input[name="rate"]', overall_config);
diff --git a/python/gras/stats/utils.js b/python/gras/stats/utils.js
index cb7cbf2..425b7c6 100644
--- a/python/gras/stats/utils.js
+++ b/python/gras/stats/utils.js
@@ -58,3 +58,19 @@ var gras_animate_show_hide = function(elem, show)
if (show) elem.slideDown("fast");
else elem.slideUp("fast");
}
+
+var gras_error_dialog = function(error_title, error_text)
+{
+ $("#div-dialog-warning").text(error_text);
+ $("#div-dialog-warning").dialog({
+ title: error_title,
+ resizable: false,
+ height: 160,
+ modal: true,
+ buttons: {
+ "Ok" : function () {
+ $(this).dialog("close");
+ }
+ }
+ }).parent().addClass("ui-state-error");
+}