| <html | <html |
| xmlns="http://www.w3.org/1999/xhtml" | xmlns="http://www.w3.org/1999/xhtml" |
| xmlns:i18n="http://genshi.edgewall.org/i18n" | xmlns:i18n="http://genshi.edgewall.org/i18n" |
| xmlns:py="http://genshi.edgewall.org/" | xmlns:py="http://genshi.edgewall.org/" |
| xmlns:xi="http://www.w3.org/2001/XInclude" | xmlns:xi="http://www.w3.org/2001/XInclude" |
| py:strip="" | py:strip="" |
| > | > |
| <select name="month" py:def="month_selector(current_month, months, day)"> | <select name="month" py:def="month_selector(current_month, months, day)"> |
| <option value='' py:attrs="{'selected': 'selected' if not current_month else None}">All months</option> | <option value='' py:attrs="{'selected': 'selected' if not current_month else None}">All months</option> |
| <py:for each="i, (val,desc) in enumerate(months)"> | <py:for each="i, (val,desc) in enumerate(months)"> |
| <option value='${val}' py:attrs="{'selected': 'selected' if current_month == val else None}">${desc}<py:if test="i == 0 and day"> (up to ${day})</py:if></option> | <option value='${val}' py:attrs="{'selected': 'selected' if current_month == val else None}">${desc}<py:if test="i == 0 and day"> (up to ${day})</py:if></option> |
| </py:for> | </py:for> |
| </select> | </select> |
| <table py:def="social_table(items, with_source=False)" class="table table-condensed table-bordered table-striped"> | <table py:def="social_table(items, with_source=False)" class="table table-condensed table-bordered table-striped"> |
| <tr> | <tr> |
| <th>Name</th> | <th>Name</th> |
| <th py:if="with_source">Source</th> | <th py:if="with_source">Source</th> |
| <th>Visits</th> | <th>Visits</th> |
| </tr> | </tr> |
| <py:for each="name, url, source, count in items"> | <py:for each="name, url, source, count in items"> |
| <tr> | <tr> |
| <td><a href="${url}">${name}</a></td> | <td><a href="${url}">${name}</a></td> |
| <td py:if="with_source">${source}</td> | <td py:if="with_source">${source}</td> |
| <td>${count}</td> | <td>${count}</td> |
| </tr> | </tr> |
| </py:for> | </py:for> |
| </table> | </table> |
| <div py:def="rickshaw_graph(items_json,id)"> | <div py:def="rickshaw_graph(items_json,id,debug=False)"> |
| <div id="chart_container_$id" class="chart_container"> | <div id="chart_container_$id" class="rickshaw_chart_container"> |
| <div id="y_axis_$id" class="y_axis"></div> | <div id="y_axis_$id" class="rickshaw_y_axis"></div> |
| <div id="chart_$id" class="chart"></div> | <div id="chart_$id" class="rickshaw_chart"></div> |
| <div id="legend_$id" class="legend"></div> | <div id="legend_$id" class="rickshaw_legend"></div> |
| <script type="text/javascript"> | <script type="text/javascript"> |
| $(function() { | $(function() { |
| var series = ${items_json}; | var series = ${items_json}; |
| <py:if test="debug">console.log(series);</py:if> | |
| var palette = new Rickshaw.Color.Palette( { scheme: 'spectrum2001' } ); | var palette = new Rickshaw.Color.Palette( { scheme: 'spectrum2001' } ); |
| $.each(series, function(i, object) { | $.each(series, function(i, object) { |
| object['color'] = palette.color(); | object['color'] = palette.color(); |
| }); | }); |
| var graph = new Rickshaw.Graph( { | var graph = new Rickshaw.Graph( { |
| element: document.querySelector("#chart_$id"), | element: document.querySelector("#chart_$id"), |
| renderer: 'line', | renderer: 'line', |
| series: series | series: series |
| }); | }); |
| var x_axis = new Rickshaw.Graph.Axis.Time( { graph: graph } ); | var x_axis = new Rickshaw.Graph.Axis.Time( { graph: graph } ); |
| var y_axis = new Rickshaw.Graph.Axis.Y( { | var y_axis = new Rickshaw.Graph.Axis.Y( { |
| graph: graph, | graph: graph, |
| orientation: 'left', | orientation: 'left', |
| tickFormat: Rickshaw.Fixtures.Number.formatKMBT, | tickFormat: Rickshaw.Fixtures.Number.formatKMBT, |
| element: document.getElementById('y_axis_$id'), | element: document.getElementById('y_axis_$id'), |
| } ); | } ); |
| var legend = new Rickshaw.Graph.Legend( { | var legend = new Rickshaw.Graph.Legend( { |
| element: document.querySelector('#legend_$id'), | element: document.querySelector('#legend_$id'), |
| graph: graph | graph: graph |
| } ); | } ); |
| graph.render(); | graph.render(); |
| }); | }); |
| </script> | </script> |
| </div> | </div> |
| </div> | </div> |
| <table py:def="stat_table(items, title='Views')" class="table table-condensed table-bordered table-striped"> | <table py:def="stat_table(items, title='Views')" class="table table-condensed table-bordered table-striped"> |
| <tr> | <tr> |
| <th>Name</th> | <th>Name</th> |
| <th>% ${title}</th> | <th>% ${title}</th> |
| </tr> | </tr> |
| <py:for each="name, value in items"> | <py:for each="name, value in items"> |
| <tr> | <tr> |
| <td>${name}</td> | <td>${name}</td> |
| <td>${value}</td> | <td>${value}</td> |
| </tr> | </tr> |
| </py:for> | </py:for> |
| </table> | </table> |
| <div py:def="usage_nav(active_name)" id="minornavigation"> | <div py:def="usage_nav(active_name)" id="minornavigation"> |
| <div id="minornavigation-bg-left"> | <div id="minornavigation-bg-left"> |
| <div id="minornavigation-bg-right"> | <div id="minornavigation-bg-right"> |
| <ul class="nav nav-pills"> | <ul class="nav nav-pills"> |
| <li py:attrs="{'class': 'active' if active_name=='Site-wide' else None}"><a py:attrs="{'class': 'active' if active_name=='Site-wide' else None}" href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='index')}"><img src="/images/icons/page_white.png" height="16px" width="16px" alt="None" class="inline-icon "/> Site-wide</a></li> | <li py:attrs="{'class': 'active' if active_name=='Site-wide' else None}"><a py:attrs="{'class': 'active' if active_name=='Site-wide' else None}" href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='index')}"><img src="/images/icons/page_white.png" height="16px" width="16px" alt="None" class="inline-icon "/> Site-wide</a></li> |
| <li py:attrs="{'class': 'active' if active_name=='Publishers' else None}"> | <li py:attrs="{'class': 'active' if active_name=='Publishers' else None}"> |
| <a py:attrs="{'class': 'active' if active_name=='Publishers' else None}" href="${h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='publishers')}"><img src="/images/icons/page_white.png" height="16px" width="16px" alt="None" class="inline-icon "/> Publishers</a> | <a py:attrs="{'class': 'active' if active_name=='Publishers' else None}" href="${h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='publishers')}"><img src="/images/icons/page_white.png" height="16px" width="16px" alt="None" class="inline-icon "/> Publishers</a> |
| </li> | </li> |
| <li py:attrs="{'class': 'active' if active_name=='Datasets' else None}"> | <li py:attrs="{'class': 'active' if active_name=='Datasets' else None}"> |
| <a py:attrs="{'class': 'active' if active_name=='Datasets' else None}" href="${h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='read')}"><img src="/images/icons/page_white.png" height="16px" width="16px" alt="None" class="inline-icon "/> Datasets</a> | <a py:attrs="{'class': 'active' if active_name=='Datasets' else None}" href="${h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='read')}"><img src="/images/icons/page_white.png" height="16px" width="16px" alt="None" class="inline-icon "/> Datasets</a> |
| </li> | </li> |
| </ul> | </ul> |
| </div> | </div> |
| </div> | </div> |
| </div> | </div> |
| </html> | </html> |