--- a/ckanext/ga_report/templates/ga_report/site/index.html +++ b/ckanext/ga_report/templates/ga_report/site/index.html @@ -9,44 +9,12 @@ <py:def function="optional_head"> <link rel="stylesheet" type="text/css" href="/scripts/vendor/rickshaw.min.css"/> + <link rel="stylesheet" type="text/css" href="/css/ga_report.css"/> + <script type="text/javascript" src="/scripts/ckanext_ga_reports.js"></script> <script type="text/javascript" src="/scripts/vendor/jquery.sparkline.modified.js"></script> <script type="text/javascript" src="/scripts/vendor/d3.v2.js"></script> <script type="text/javascript" src="/scripts/vendor/d3.layout.min.js"></script> <script type="text/javascript" src="/scripts/vendor/rickshaw.min.js"></script> - <style type="text/css"> - .table-condensed td.sparkline-cell { - padding: 1px 0 0 0; - width: 108px; - text-align: center; - } - .chart_container { - position: relative; - height: 300px; - margin: 0 auto 20px auto; - } - .chart { - position: absolute; - left: 40px; - width: 500px; - top: 0; - bottom: 0; - } - .legend { - position: absolute; - right: 0; - top: 0; - margin-left: 15px; - background: transparent; - max-width: 150px; - overflow: hidden; - } - .y_axis { - position: absolute; - top: 0; - bottom: 0; - width: 40px; - } - </style> </py:def> <py:match path="primarysidebar"> @@ -55,6 +23,12 @@ <p><center> <a class="btn button btn-primary" href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month or 'all')}">Download as CSV</a></center> </p> + </li> + <li class="widget-container boxed widget_text"> + <h4>Graph Legend</h4> + <div id="graph-legend-container"> + <div id="legend_none">(No graph loaded)</div> + </div> </li> <xi:include href="../notes.html" /> @@ -75,38 +49,36 @@ <div class="tabbable"> <ul class="nav nav-tabs"> - <li class="active"><a href="#totals" data-toggle="tab">Totals</a></li> + <li><a href="#totals" data-toggle="hashchange">Totals</a></li> <li class="dropdown"> - <a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Browsers + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Browsers <b class="caret"></b></a> <ul class="dropdown-menu"> - <li><a href="#browsers_names" data-toggle="tab">Browsers</a></li> - <li><a href="#browsers_versions" data-toggle="tab">Versions</a></li> + <li><a href="#browsers_names" data-toggle="hashchange">Browsers</a></li> + <li><a href="#browsers_versions" data-toggle="hashchange">Versions</a></li> </ul> </li> <li class="dropdown"> - <a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Operating<br/>Systems + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Operating Systems <b class="caret"></b></a> <ul class="dropdown-menu"> - <li><a href="#os" data-toggle="tab">Operating Systems</a></li> - <li><a href="#os_versions" data-toggle="tab">Versions</a></li> + <li><a href="#os" data-toggle="hashchange">Operating Systems</a></li> + <li><a href="#os_versions" data-toggle="hashchange">Versions</a></li> </ul> </li> <li class="dropdown"> - <a href="#browsers" class="dropdown-toggle" data-toggle="dropdown">Social Networks + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Social <b class="caret"></b></a> <ul class="dropdown-menu"> - <li><a href="#social_networks" data-toggle="tab">All networks</a></li> - <li><a href="#social_referrals_totals" data-toggle="tab">Referral links</a></li> + <li><a href="#social_networks" data-toggle="hashchange">All networks</a></li> + <li><a href="#social_referrals_totals" data-toggle="hashchange">Referral links</a></li> </ul> </li> - - <li><a href="#social_networks" data-toggle="tab"></a></li> - <li><a href="#languages" data-toggle="tab">Languages</a></li> - <li><a href="#country" data-toggle="tab">Country</a></li> + <li><a href="#languages" data-toggle="hashchange">Languages</a></li> + <li><a href="#country" data-toggle="hashchange">Country</a></li> </ul> <div class="tab-content"> - <div class="tab-pane active" id="totals"> + <div class="tab-pane" id="totals"> <table class="table table-condensed table-bordered table-striped"> <tr> <th>Name</th> @@ -127,20 +99,20 @@ </table> </div> <div class="tab-pane" id="browsers_versions"> - ${rickshaw_graph(c.browser_versions_graph,'browser-versions')} + ${rickshaw_graph(c.browser_versions_graph,'browser-versions',mode='stack')} <p>Note: Where a browser has a large number of versions, these have been grouped together.</p> ${stat_table(c.browser_versions)} </div> <div class="tab-pane" id="browsers_names"> - ${rickshaw_graph(c.browsers_graph,'browsers')} + ${rickshaw_graph(c.browsers_graph,'browsers',mode='stack')} ${stat_table(c.browsers)} </div> <div class="tab-pane" id="os"> - ${rickshaw_graph(c.os_graph,'os')} + ${rickshaw_graph(c.os_graph,'os',mode='stack')} ${stat_table(c.os)} </div> <div class="tab-pane" id="os_versions"> - ${rickshaw_graph(c.os_versions_graph,'os_versions')} + ${rickshaw_graph(c.os_versions_graph,'os_versions',mode='stack')} ${stat_table(c.os_versions)} </div> <div class="tab-pane" id="social_referrals_totals"> @@ -148,45 +120,34 @@ ${social_table(c.social_referrer_totals)} </div> <div class="tab-pane" id="social_networks"> - ${rickshaw_graph(c.social_networks_graph, 'social_networks')} + ${rickshaw_graph(c.social_networks_graph, 'social_networks',mode='stack')} <p>Percentage of visits that were referred from these social networks</p> ${stat_table(c.social_networks, 'Visits')} </div> <div class="tab-pane" id="languages"> - ${rickshaw_graph(c.languages_graph,'languages')} + ${rickshaw_graph(c.languages_graph,'languages',mode='stack')} ${stat_table(c.languages)} </div> <div class="tab-pane" id="country"> - ${rickshaw_graph(c.country_graph,'country')} + ${rickshaw_graph(c.country_graph,'country',mode='stack')} ${stat_table(c.country)} </div> - - </div> </div> - - - </div> <py:def function="optional_footer"> <script type="text/javascript"> $(function() { - var sparkOptions = { - enableTagOptions: true, - type: 'line', - width: 100, - height: 26, - chartRangeMin: 0, - spotColor: '', - maxSpotColor: '', - minSpotColor: '', - highlightSpotColor: '000000', - lineColor: '3F8E6D', - fillColor: 'B7E66B' - }; - $('.sparkline').sparkline('html',sparkOptions); + CKAN.GA_Reports.bind_sparklines(); + CKAN.GA_Reports.bind_sidebar(); + if (!window.location.hash) { + window.location.hash='totals'; + } + else { + $(window).trigger('hashchange'); + } }); </script> </py:def>