--- a/documents/charts.php +++ b/documents/charts.php @@ -1,6 +1,6 @@ <?php include('template.inc.php'); -include_header_documents(""); +include_header_documents("Charts"); include_once('../include/common.inc.php'); $agenciesdb = $server->get_db('disclosr-agencies'); @@ -15,29 +15,28 @@ <h1><a href="about.php">Charts</a></h1> <h4 class="subheader">Lorem ipsum.</h4> </div> -<div id="employees" style="width:1000px;height:900px;"></div> +<div id="bydate" style="width:1000px;height:300px;"></div> +<div id="byagency" style="width:1200px;height:300px;"></div> <script id="source"> window.onload = function() { $(document).ready(function() { var d1 = [], - start = new Date("2009/01/01 01:00").getTime(), - options, - graph, - i, x, o; + options1, + o1; <?php try { - $rows = $foidocsdb->get_view("app", "byDate?group=true", null, true)->rows; + $rows = $foidocsdb->get_view("app", "byDateMonthYear?group=true")->rows; $dataValues = Array(); foreach ($rows as $row) { - $dataValues[$row->value] = $row->key; + $dataValues[$row->key] = $row->value; } $i = 0; ksort($dataValues); - foreach ($dataValues as $value => $key) { + foreach ($dataValues as $key => $value) { $date = date_create_from_format('Y-m-d', $key); if (date_format($date, 'U') != "") { echo " d1.push([".date_format($date, 'U')."000, $value]);" . PHP_EOL; @@ -52,7 +51,7 @@ - options = { + options1 = { xaxis : { mode : 'time', labelsAngle : 45 @@ -68,19 +67,19 @@ function drawGraph (opts) { // Clone the options, so the 'options' variable always keeps intact. - o = Flotr._.extend(Flotr._.clone(options), opts || {}); + o1 = Flotr._.extend(Flotr._.clone(options1), opts || {}); // Return a new graph. return Flotr.draw( - document.getElementById("employees"), + document.getElementById("bydate"), [ d1 ], - o + o1 ); } graph = drawGraph(); - Flotr.EventAdapter.observe(container, 'flotr:select', function(area){ + Flotr.EventAdapter.observe(document.getElementById("bydate"), 'flotr:select', function(area){ // Draw selected area graph = drawGraph({ xaxis : { min : area.x1, max : area.x2, mode : 'time', labelsAngle : 45 }, @@ -89,10 +88,74 @@ }); // When graph is clicked, draw the graph with default area. - Flotr.EventAdapter.observe(container, 'flotr:click', function () { graph = drawGraph(); }); + Flotr.EventAdapter.observe(document.getElementById("bydate"), 'flotr:click', function () { graph = drawGraph(); }); }); }; + +var d2 = []; +var agencylabels = []; +function agencytrackformatter(obj) { + + return agencylabels[Math.floor(obj.x)] +" = "+obj.y; + + } + function agencytickformatter(val, axis) { + if (agencylabels[Math.floor(val)]) { + return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">'+(agencylabels[Math.floor(val)])+"</b>"; + + } else { + return ""; + } + } +<?php + try { + $rows = $foidocsdb->get_view("app", "byAgencyID?group=true")->rows; + + + $dataValues = Array(); + $i = 0; + foreach ($rows as $row) { + echo " d2.push([".$i.", $row->value]);" . PHP_EOL; + echo " agencylabels.push(['".str_replace("'","",$idtoname[$row->key])."']);" . PHP_EOL; + + $i++; + } + } catch (SetteeRestClientException $e) { + setteErrorHandler($e); + } + ?> + // Draw the graph + Flotr.draw( + document.getElementById("byagency"), + [d2], + { + bars : { + show : true, + horizontal : false, + shadowSize : 0, + barWidth : 0.5 + }, +mouse : { + track : true, + relative : true, + trackFormatter: agencytrackformatter + }, + yaxis : { + min : 0, + autoscaleMargin : 1 + }, + xaxis: { + minorTickFreq: 1, + noTicks: agencylabels.length, + showMinorLabels: true, + tickFormatter: agencytickformatter + }, + legend: { + show: false + } + } + ); </script> <?php