parent
aac4b56349
commit
1cfc193758
@ -0,0 +1 @@
|
||||
@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,149 @@
|
||||
{% extends '_main.html' %}
|
||||
|
||||
{% block title %}History (Statistics) - Bazarr{% endblock %}
|
||||
|
||||
{% block bcleft %}
|
||||
|
||||
{% endblock bcleft %}
|
||||
|
||||
{% block bcright %}
|
||||
|
||||
{% endblock bcright %}
|
||||
|
||||
{% block body %}
|
||||
<canvas id="history_stats" height="125"></canvas>
|
||||
|
||||
<nav id="edit_bar" class="navbar fixed-bottom navbar-dark bg-dark">
|
||||
<div class="form-check form-check-inline">
|
||||
<div class="form-group" style="margin-bottom: 0px;">
|
||||
<label for="timeframe_select">Time frame: </label>
|
||||
<select class="selectpicker show-tick" id="timeframe_select" name="timeframe">
|
||||
<option value="week">Last week</option>
|
||||
<option value="month" selected>Last month</option>
|
||||
<option value="trimester">Last trimester</option>
|
||||
<option value="year">Last year</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<div class="form-group" style="margin-bottom: 0px;">
|
||||
<label for="action_select">Action: </label>
|
||||
<select class="selectpicker show-tick" id="action_select" name="action">
|
||||
<option value="All" selected>All</option>
|
||||
<option value="1">Automatically Downloaded</option>
|
||||
<option value="2">Manually Downloaded</option>
|
||||
<option value="3">Upgraded</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<div class="form-group" style="margin-bottom: 0px;">
|
||||
<label for="provider_select">Provider: </label>
|
||||
<select class="selectpicker show-tick" id="provider_select" name="provider"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<div class="form-group" style="margin-bottom: 0px;">
|
||||
<label for="language_select">Language: </label>
|
||||
<select class="selectpicker" id="language_select" name="language"></select>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
{% endblock body %}
|
||||
|
||||
{% block tail %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
getEnabledLanguages();
|
||||
getEnabledProviders();
|
||||
|
||||
var timeframe = 'month';
|
||||
var action = 'All';
|
||||
var provider = 'All';
|
||||
var language = 'All';
|
||||
|
||||
var labels_series = [];
|
||||
var data_series = [];
|
||||
var labels_movies = [];
|
||||
var data_movies = [];
|
||||
|
||||
var history_chart = new Chart($('#history_stats'), {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: labels_series,
|
||||
datasets: [{
|
||||
label: 'Series',
|
||||
backgroundColor: '#2193b5',
|
||||
data: data_series
|
||||
}, {
|
||||
label: 'Movies',
|
||||
backgroundColor: '#ffc230',
|
||||
data: data_movies
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
scales: {
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
precision: 0
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
get_data();
|
||||
|
||||
$('.selectpicker').on('change', function() {
|
||||
timeframe = $('#timeframe_select').selectpicker('val');
|
||||
action = $('#action_select').selectpicker('val');
|
||||
provider = $('#provider_select').selectpicker('val');
|
||||
language = $('#language_select').selectpicker('val');
|
||||
|
||||
get_data();
|
||||
})
|
||||
|
||||
function get_data() {
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "{{ url_for('api.historystats') }}?timeframe=" + timeframe + "&action=" + action + "&provider=" + provider + "&language=" + language,
|
||||
success: function(json_data) {
|
||||
labels_series = json_data.data_series.map(function(e) {
|
||||
return e.date;
|
||||
});
|
||||
data_series = json_data.data_series.map(function(e) {
|
||||
return e.count;
|
||||
});
|
||||
|
||||
data_movies = json_data.data_movies.map(function(e) {
|
||||
return e.count;
|
||||
});
|
||||
|
||||
history_chart.data.labels = labels_series;
|
||||
history_chart.data.datasets[0].data = data_series;
|
||||
history_chart.data.datasets[1].data = data_movies;
|
||||
|
||||
history_chart.update();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function getEnabledLanguages() {
|
||||
$('#language_select').append('<option value="All" selected>All</option>');
|
||||
{% for item in data_languages %}
|
||||
$('#language_select').append('<option value="{{item['code2'] + (':forced' if item['forced'] else '')}}">{{item['name'] + (' Forced' if item['forced'] else '')}}</option>');
|
||||
{% endfor %}
|
||||
$("#language_select").selectpicker("refresh");
|
||||
}
|
||||
|
||||
function getEnabledProviders() {
|
||||
$('#provider_select').append('<option value="All" selected>All</option>');
|
||||
{% for item in data_providers %}
|
||||
$('#provider_select').append('<option value="{{item}}">{{item}}</option>');
|
||||
{% endfor %}
|
||||
$("#provider_select").selectpicker("refresh");
|
||||
}
|
||||
</script>
|
||||
{% endblock tail %}
|
Loading…
Reference in new issue