X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;ds=inline;f=js%2F90-tracker.js;h=6b73fb34808e332a6ae1bf50656a97f58b4241d9;hb=bf660b84639bcfd78ce2851bf6b6169b92f9007a;hp=0db54590532bd215b1437926e58850bd3fdce21b;hpb=7093e9ba00cf7727a52a49d34d4df12e4f865dd4;p=plack-app-gruntmaster.git
diff --git a/js/90-tracker.js b/js/90-tracker.js
index 0db5459..6b73fb3 100644
--- a/js/90-tracker.js
+++ b/js/90-tracker.js
@@ -1,30 +1,25 @@
-var TICK = 'â';
-var XMARK = 'â';
+const TICK = 'â';
+const XMARK = 'â';
function clean_tracker(){
- $('.tracker-mark').each(function(e){
- e.parentNode.removeChild(e);
- });
- $('.tracker-info').each(function(e){
+ $('.tracker-mark').each(e => e.parentNode.removeChild(e));
+ $('.tracker-info').each(e => {
e.classList.remove('tracker-info');
e.classList.remove('info');
});
}
-var tracker;
+let tracker;
function update_tracker(){
- var data = localStorage.getItem('tracker_data');
- var user = localStorage.getItem('tracker_username');
- if(!data)
+ if(!localStorage.getItem('tracker_data'))
return;
- data = JSON.parse(data);
- var solved = {};
- var attempted = {};
- var solvednr = 0;
- var attemptednr = 0;
- data.problems.forEach(function(e){
- if(e.solved){
+ const data = JSON.parse(localStorage.getItem('tracker_data'));
+ const user = localStorage.getItem('tracker_username');
+ const contests = {}, solved = {}, attempted = {};
+ let solvednr = 0, attemptednr = 0;
+ data.problems.forEach(e => {
+ if(e.solved) {
solved[e.problem] = 1;
solvednr++;
} else {
@@ -33,21 +28,18 @@ function update_tracker(){
}
});
- var contests = {};
- data.contests.forEach(function(e){
- contests[e.contest] = 1;
- });
+ data.contests.forEach(e => contests[e.contest] = 1);
clean_tracker();
- $('#tracker_userlink')[0].innerHTML = data.name;
- $('#tracker_solved')[0].innerHTML = solvednr;
- $('#tracker_attempted')[0].innerHTML = attemptednr;
- $('#tracker_contests')[0].innerHTML = data.contests.length;
- $('#tracker_log')[0].setAttribute('href', '/log/?owner=' + user);
+ q('#tracker_userlink').innerHTML = data.name;
+ q('#tracker_solved').innerHTML = solvednr;
+ q('#tracker_attempted').innerHTML = attemptednr;
+ q('#tracker_contests').innerHTML = data.contests.length;
+ q('#tracker_log').setAttribute('href', '/log/?owner=' + user);
if(location.pathname == '/pb/')
- $('table .name a').each(function(el) {
- var id = el.getAttribute('href').split('?', 2)[0];
+ $('table .name a').each(el => {
+ const id = el.getAttribute('href').split('?', 2)[0];
if(solved[id])
el.insertAdjacentHTML('beforebegin', TICK);
else if(attempted[id])
@@ -55,23 +47,23 @@ function update_tracker(){
});
if(location.pathname == '/ct/')
- $('table .name a').each(function(el) {
- var id = el.getAttribute('href').substr(4);
+ $('table .name a').each(el => {
+ const id = el.getAttribute('href').substr(4);
if(contests[id])
el.insertAdjacentHTML('beforebegin', TICK);
});
if(location.pathname == '/log/')
- $('table tbody tr').each(function(el) {
- var owner = el.querySelector('.owner a');
+ $('table tbody tr').each(el => {
+ const owner = el.querySelector('.owner a');
if(!owner || owner.getAttribute('href') != '/us/' + user)
return;
- var state = el.getElementsByClassName('r0').length ? TICK : XMARK;
+ const state = el.getElementsByClassName('r0').length ? TICK : XMARK;
el.getElementsByClassName('id')[0].innerHTML += state;
});
if(location.pathname.match(/^\/st\//) || location.pathname == '/us/')
- $('table tbody tr').each(function(el) {
+ $('table tbody tr').each(el => {
if(el.querySelector('.user a').getAttribute('href') == '/us/' + user){
el.classList.add('info');
el.classList.add('tracker-info');
@@ -81,21 +73,21 @@ function update_tracker(){
function start_tracking(user){
localStorage.setItem('tracker_username', user);
- $('#tracker_userlink')[0].setAttribute('href', '/us/' + user);
- $('#tracker_userlink')[0].innerHTML = user;
+ q('#tracker_userlink').setAttribute('href', '/us/' + user);
+ q('#tracker_userlink').innerHTML = user;
tracker.classList.remove('hidden');
update_tracker();
- var lastfetch = localStorage.getItem('tracker_lastfetch');
+ const lastfetch = localStorage.getItem('tracker_lastfetch');
if(Date.now() - lastfetch > 60 * 10 * 1000)
refresh_tracker();
}
function refresh_tracker(){
- var user = localStorage.getItem('tracker_username');
- var xhr = new XMLHttpRequest();
+ const user = localStorage.getItem('tracker_username');
+ const xhr = new XMLHttpRequest();
xhr.open('GET', '/us/' + user + '?format=json');
- xhr.onload = function () {
- localStorage.setItem('tracker_data', this.responseText);
+ xhr.onload = () => {
+ localStorage.setItem('tracker_data', xhr.responseText);
localStorage.setItem('tracker_lastfetch', Date.now());
update_tracker();
};
@@ -111,15 +103,12 @@ function stop_tracking(){
}
$(function(){
- tracker = document.createElement('div');
- tracker.id = 'tracker';
- tracker.className = 'hidden';
- tracker.innerHTML = 'Tracking .
Stop tracking
Job log