--- a/ckanext/ga_report/templates/ga_report/site/index.html +++ b/ckanext/ga_report/templates/ga_report/site/index.html @@ -1,1 +1,155 @@ -HAI Site +<html xmlns:py="http://genshi.edgewall.org/" + xmlns:i18n="http://genshi.edgewall.org/i18n" + xmlns:xi="http://www.w3.org/2001/XInclude" + py:strip=""> + + <xi:include href="../ga_util.html" /> + + <py:def function="page_title">Site usage</py:def> + + <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> + </py:def> + + <py:match path="primarysidebar"> + <li class="widget-container boxed widget_text"> + <h4>Download</h4> + <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" /> + + </py:match> + + <div py:match="content"> + <h1>Site Usage</h1> + ${usage_nav('Site-wide')} + + <form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='index')}" method="get"> + <div class="controls"> + + ${month_selector(c.month, c.months, c.day)} + + <input class="btn button btn-primary" type='submit' value="Update"/> + </div> + </form> + + <div class="tabbable"> + <ul class="nav nav-tabs"> + <li><a href="#totals" data-toggle="hashchange">Totals</a></li> + <li class="dropdown"> + <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="hashchange">Browsers</a></li> + <li><a href="#browsers_versions" data-toggle="hashchange">Versions</a></li> + </ul> + </li> + <li class="dropdown"> + <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="hashchange">Operating Systems</a></li> + <li><a href="#os_versions" data-toggle="hashchange">Versions</a></li> + </ul> + </li> + <li class="dropdown"> + <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="hashchange">All networks</a></li> + <li><a href="#social_referrals_totals" data-toggle="hashchange">Referral links</a></li> + </ul> + </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" id="totals"> + <table class="table table-condensed table-bordered table-striped"> + <tr> + <th>Name</th> + <th>Value</th> + <th>History</th> + </tr> + <py:for each="name, value, graph in c.global_totals"> + <tr> + <td>${name}</td> + <td>${value}</td> + <td class="sparkline-cell"> + <span class="sparkline" sparkTooltips="${','.join([x for x,y in graph])}"> + ${','.join([y for x,y in graph])} + </span> + </td> + </tr> + </py:for> + </table> + </div> + <div class="tab-pane" id="browsers_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',mode='stack')} + ${stat_table(c.browsers)} + </div> + <div class="tab-pane" id="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',mode='stack')} + ${stat_table(c.os_versions)} + </div> + <div class="tab-pane" id="social_referrals_totals"> + <p>Number of visits that were referred from social networks</p> + ${social_table(c.social_referrer_totals)} + </div> + <div class="tab-pane" id="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',mode='stack')} + ${stat_table(c.languages)} + </div> + <div class="tab-pane" id="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() { + CKAN.GA_Reports.bind_sparklines(); + CKAN.GA_Reports.bind_sidebar(); + $(window).trigger('hashchange'); + }); + </script> + </py:def> + + <xi:include href="../../layout.html" /> +</html> + + + +