--- a/charts.php +++ b/charts.php @@ -7,12 +7,13 @@ <h1><a href="about.php">Charts</a></h1> <h4 class="subheader">Lorem ipsum.</h4> </div> -<div id="placeholder" style="width:900px;height:500px;"></div> +<div id="scores" style="width:900px;height:500px;"></div> +<div id="employees" style="width:1000px;height:900px;"></div> <script id="source"> window.onload = function() { $(document).ready(function() { var d1 = []; - var labels = []; + var scorelabels = []; <?php try { $rows = $db->get_view("app", "scoreHas?group=true", null, true)->rows; @@ -27,53 +28,103 @@ foreach ($dataValues as $value => $key) { echo " d1.push([$i, $value]);" . PHP_EOL; - echo " labels.push('$key');" . PHP_EOL; + echo " scorelabels.push('$key');" . PHP_EOL; $i++; } } catch (SetteeRestClientException $e) { setteErrorHandler($e); } ?> - function trackformatter(obj) { - if (labels[Math.floor(obj.x)]) { - return (labels[Math.floor(obj.x)])+"="+obj.y; + function scoretrackformatter(obj) { + if (scorelabels[Math.floor(obj.x)]) { + return (scorelabels[Math.floor(obj.x)])+"="+obj.y; - } else { - return ""; + } else { + return ""; + } } - } - function tickformatter(val, axis) { - if (labels[Math.floor(val)]) { - return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(labels[Math.floor(val)])+"</b>"; + function scoretickformatter(val, axis) { + if (scorelabels[Math.floor(val)]) { + return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(scorelabels[Math.floor(val)])+"</b>"; - } else { - return ""; + } else { + return ""; + } } - } - Flotr.draw(document.getElementById("placeholder"), [ {data: d1}], { - HtmlText: true, - bars : { - show : true - }, - mouse : { - track : true, - relative : true, - trackFormatter: trackformatter - },yaxis: { - min:0 - }, - xaxis: { - - minorTickFreq: 0.6, - noTicks : 19, - tickFormatter: tickformatter + Flotr.draw(document.getElementById("scores"), [ {data: d1}], { + HtmlText: true, + bars : { + show : true + }, + mouse : { + track : true, + relative : true, + trackFormatter: scoretrackformatter + },yaxis: { + autoscaling: true + }, + xaxis: { + autoscaling: true, + minorTickFreq: 0.6, + noTicks : scorelabels.length, + tickFormatter: scoretickformatter + } + }); + + + + + + + + +var emplabels = []; +function emptrackformatter(obj) { + + return (obj.series.label)+" = "+obj.y+" in "+emplabels[Math.floor(obj.x)]; + } - }); + function emptickformatter(val, axis) { + if (emplabels[Math.floor(val)]) { + return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(emplabels[Math.floor(val)])+"</b>"; + + } else { + return ""; + } + } +function onDataReceived(series) { + emplabels = series.labels; + Flotr.draw(document.getElementById("employees"), series.data, { + mouse : { + track : true, + relative : true, + trackFormatter: emptrackformatter + },yaxis: { + max: 10000, + scaling: 'logarithmic' + }, + xaxis: { + minorTickFreq: 1, + noTicks: emplabels.length, + showMinorLabels: true, + tickFormatter: emptickformatter + }, + legend: { + show: false + } + }); + } + + $.ajax({ + url: "admin/exportEmployees.csv.php?format=json", + method: 'GET', + dataType: 'json', + success: onDataReceived + }); - - }); - }; + }); + }; </script>