From 6a0fa7c3ff624651ff671a947aa7f6b437efc749 Mon Sep 17 00:00:00 2001 From: "Dharmraj Jhala (OpenERP)" Date: Mon, 24 Mar 2014 15:32:57 +0530 Subject: [PATCH] [IMP] added pie chart for simple questions and table condensed class to tables, and set limit of 10 records for pagination bzr revid: dizzy.zala@gmail.com-20140324100257-fz8id6eula73x4yx --- addons/survey/static/src/js/survey_result.js | 38 +++++++++++++++----- addons/survey/views/survey_result.xml | 25 ++++++++----- 2 files changed, 46 insertions(+), 17 deletions(-) diff --git a/addons/survey/static/src/js/survey_result.js b/addons/survey/static/src/js/survey_result.js index 54a6d248f95..b8a9abefc20 100644 --- a/addons/survey/static/src/js/survey_result.js +++ b/addons/survey/static/src/js/survey_result.js @@ -69,8 +69,16 @@ $(document).ready(function () { .showValues(true); } + //initialize Pie Chart + function init_pie_chart(){ + return nv.models.pieChart() + .x(function(d) { return d.text; }) + .y(function(d) { return d.count; }) + .showLabels(true); + } + //load chart to svg element chart:initialized chart, response:AJAX response, quistion_id:if of survey question, tick_limit:text length limit - function load_chart(chart, response, question_id, tick_limit){ + function load_chart(chart, response, question_id, tick_limit, graph_type){ // Custom Tick fuction for replacing long text with '...' var customtick_function = function(d){ if(! this || d.length <= tick_limit){ @@ -80,14 +88,20 @@ $(document).ready(function () { return d.slice(0,tick_limit)+'...'; } }; - chart.xAxis - .tickFormat(customtick_function); - chart.yAxis - .tickFormat(d3.format('d')); - - d3.select('#graph_question_' + question_id + ' svg') - .datum(response) - .transition().duration(500).call(chart); + if (graph_type == 'pie'){ + d3.select('#graph_question_' + question_id + ' svg') + .datum(response[0].values) + .transition().duration(500).call(chart); + } + else{ + chart.xAxis + .tickFormat(customtick_function); + chart.yAxis + .tickFormat(d3.format('d')); + d3.select('#graph_question_' + question_id + ' svg') + .datum(response) + .transition().duration(500).call(chart); + } nv.utils.windowResize(chart.update); return chart; } @@ -116,6 +130,12 @@ $(document).ready(function () { return load_chart(chart,response,question_id,35); }); } + else if(graph_type == 'pie'){ + nv.addGraph(function() { + var chart = init_pie_chart(); + return load_chart(chart,response,question_id,25,'pie'); + }); + } } }); }); diff --git a/addons/survey/views/survey_result.xml b/addons/survey/views/survey_result.xml index a5113df25e3..ffefd853dc0 100644 --- a/addons/survey/views/survey_result.xml +++ b/addons/survey/views/survey_result.xml @@ -60,7 +60,7 @@