<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)"> |
<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 all_series = ${items_json}; |
var palette = new Rickshaw.Color.Palette( { scheme: 'spectrum2001' } ); |
var palette = new Rickshaw.Color.Palette( { scheme: 'munin' } ); |
$.each(series, function(i, object) { |
$.each(all_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: all_series , |
|
height: 328 |
}); |
}); |
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> |
|
|