diff options
| author | Michael <[email protected]> | 2017-05-09 12:58:19 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-05-09 12:58:19 -0400 |
| commit | 28e035e581b29cb118060ba6bce3d3a29b2ed22a (patch) | |
| tree | 7b3d5296db7233597b792272526b838d4cdb9af8 /Project-Unite/ChartExtensions.cs | |
| parent | c018086ad6c5431047930bc8401f1b97d7ece73f (diff) | |
| download | project-unite-28e035e581b29cb118060ba6bce3d3a29b2ed22a.tar.gz project-unite-28e035e581b29cb118060ba6bce3d3a29b2ed22a.tar.bz2 project-unite-28e035e581b29cb118060ba6bce3d3a29b2ed22a.zip | |
Start revamp of bug UI
Diffstat (limited to 'Project-Unite/ChartExtensions.cs')
| -rw-r--r-- | Project-Unite/ChartExtensions.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Project-Unite/ChartExtensions.cs b/Project-Unite/ChartExtensions.cs new file mode 100644 index 0000000..b9b2879 --- /dev/null +++ b/Project-Unite/ChartExtensions.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; +using System.Web.Mvc; + +namespace Project_Unite +{ + public static class ChartExtensions + { + public static IHtmlString PieChart(this HtmlHelper hpr, string title, Dictionary<string, double> values) + { + var sb = new StringBuilder(); + string chart_id = Guid.NewGuid().ToString().Replace("-", ""); + sb.AppendLine($@"<script type=""text/javascript""> +google.charts.load('current', {{'packages':['corechart']}}); + google.charts.setOnLoadCallback(drawChart_{chart_id}); + +function drawChart_{chart_id}() +{{ + var data_{chart_id} = google.visualization.arrayToDataTable([ + ['Key', 'Value']"); + + foreach(var kvs in values) + { + sb.Append(","); + sb.AppendLine($"['{kvs.Key}', {kvs.Value}]"); + } + sb.AppendLine($@"]); + +var options_{chart_id} = {{ + title: '{title}' + }}; + + var chart = new google.visualization.PieChart(document.getElementById('{chart_id}')); + + chart.draw(data, options);"); + + sb.AppendLine("}</script>"); + sb.AppendLine($"<div id=\"{chart_id}\" style=\"width:100%; height:auto;\"></div>"); + return hpr.Raw(sb.ToString()); + } + } +}
\ No newline at end of file |
