<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="ga-reports-table 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 class="td-numeric">${count}</td> |
</tr> |
</tr> |
</py:for> |
</py:for> |
</table> |
</table> |
|
|
|
|
<div py:def="rickshaw_graph(items_json,id,debug=False)"> |
<div py:def="rickshaw_graph(items_json,id,mode='line',colorscheme='munin')"> |
<div id="chart_container_$id" class="rickshaw_chart_container"> |
<div id="chart_container_$id" class="rickshaw_chart_container"> |
<div id="y_axis_$id" class="rickshaw_y_axis"></div> |
<div id="y_axis_$id" class="rickshaw_y_axis"></div> |
<div id="chart_$id" class="rickshaw_chart"></div> |
<div id="chart_$id" class="rickshaw_chart"></div> |
<div id="legend_$id" class="rickshaw_legend"></div> |
|
<script type="text/javascript"> |
<script type="text/javascript"> |
$(function() { |
$(function() { |
var series = ${items_json}; |
var items = $items_json; |
<py:if test="debug">console.log(series);</py:if> |
if (items.length==0) { return; } |
var palette = new Rickshaw.Color.Palette( { scheme: 'spectrum2001' } ); |
CKAN.GA_Reports.render_rickshaw('$id', items, '$mode', '$colorscheme'); |
$.each(series, function(i, object) { |
|
object['color'] = palette.color(); |
|
}); |
|
var graph = new Rickshaw.Graph( { |
|
element: document.querySelector("#chart_$id"), |
|
renderer: 'line', |
|
series: series |
|
}); |
|
var x_axis = new Rickshaw.Graph.Axis.Time( { graph: graph } ); |
|
var y_axis = new Rickshaw.Graph.Axis.Y( { |
|
graph: graph, |
|
orientation: 'left', |
|
tickFormat: Rickshaw.Fixtures.Number.formatKMBT, |
|
element: document.getElementById('y_axis_$id'), |
|
} ); |
|
var legend = new Rickshaw.Graph.Legend( { |
|
element: document.querySelector('#legend_$id'), |
|
graph: graph |
|
} ); |
|
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="ga-reports-table table table-condensed table-bordered table-striped"> |
<tr> |
<tr> |
<th>Name</th> |
<th>Name</th> |
<th>% ${title}</th> |
<th class="td-numeric">% ${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 class="td-numeric">${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> |
<?python querystring='?month='+c.month if c.month else '' ?> |
|
<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')}${querystring}"><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')}${querystring}"><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')}${querystring}"><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> |
|
|