mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-01-21 03:37:56 -05:00
* Less jQuery Follow-up of https://github.com/FreshRSS/FreshRSS/pull/2199 * Even less jQuery + global view unread title fix * Even less jQuery * Yet even less jQuery * Even less jQuery * Reduce some events * Even less jQuery * jQuery gone from main view +Fixed English i18n * Fix feed folded view * Remove Firefox 64 workaround Remove workaround for Gecko bug 1514498 in Firefox 64, fixed in Firefox 65 * Split to extra.js Avoid loading unneeded JavaScript code for the main view. + several adjustements * Improve CSS transition fold category * Rewrite shortcuts Remove library. Much faster, shorter, one listener instead of many. Control of the shortcut context. Fix https://github.com/FreshRSS/FreshRSS/issues/2215 * Remove debug * Minor syntax * Filter out unwanted shortcut modifiers * Menu overflow fix * Typo * Fix unfolding in mobile view * Remove jQuery from category.js * Remove jQuery from Global view
60 lines
2.1 KiB
JavaScript
60 lines
2.1 KiB
JavaScript
"use strict";
|
|
/* globals Flotr, numberFormat */
|
|
/* jshint esversion:6, strict:global */
|
|
|
|
function initStats() {
|
|
if (!window.Flotr) {
|
|
if (window.console) {
|
|
console.log('FreshRSS waiting for Flotr…');
|
|
}
|
|
window.setTimeout(initStats, 50);
|
|
return;
|
|
}
|
|
const jsonStats = document.getElementById('jsonStats'),
|
|
stats = JSON.parse(jsonStats.innerHTML);
|
|
jsonStats.outerHTML = '';
|
|
// Entry per day
|
|
const avg = [];
|
|
for (let i = -31; i <= 0; i++) {
|
|
avg.push([i, stats.average]);
|
|
}
|
|
Flotr.draw(document.getElementById('statsEntryPerDay'),
|
|
[{
|
|
data: stats.dataCount,
|
|
bars: {horizontal: false, show: true}
|
|
},{
|
|
data: avg,
|
|
lines: {show: true},
|
|
label: stats.average,
|
|
}],
|
|
{
|
|
grid: {verticalLines: false},
|
|
xaxis: {noTicks: 6, showLabels: false, tickDecimals: 0, min: -30.75, max: -0.25},
|
|
yaxis: {min: 0},
|
|
mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}}
|
|
});
|
|
// Feed per category
|
|
Flotr.draw(document.getElementById('statsFeedPerCategory'),
|
|
stats.feedByCategory,
|
|
{
|
|
grid: {verticalLines: false, horizontalLines: false},
|
|
pie: {explode: 10, show: true, labelFormatter: function(){return '';}},
|
|
xaxis: {showLabels: false},
|
|
yaxis: {showLabels: false},
|
|
mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}},
|
|
legend: {container: document.getElementById('statsFeedPerCategoryLegend'), noColumns: 3}
|
|
});
|
|
// Entry per category
|
|
Flotr.draw(document.getElementById('statsEntryPerCategory'),
|
|
stats.entryByCategory,
|
|
{
|
|
grid: {verticalLines: false, horizontalLines: false},
|
|
pie: {explode: 10, show: true, labelFormatter: function(){return '';}},
|
|
xaxis: {showLabels: false},
|
|
yaxis: {showLabels: false},
|
|
mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}},
|
|
legend: {container: document.getElementById('statsEntryPerCategoryLegend'), noColumns: 3}
|
|
});
|
|
}
|
|
initStats();
|