X-Git-Url: http://git.ieval.ro/?p=plack-app-gruntmaster.git;a=blobdiff_plain;f=js%2F90-tracker.js;h=5e1c9a20287359597de90525795203bcbd6f9f40;hp=42ee1f78c16bf602f2884d86737ce91fc032646e;hb=8345760abf4953980a85e0d5f9cade421f73d4ff;hpb=f57a9178d3c6982315f7c5b5b01be79abafeffa6 diff --git a/js/90-tracker.js b/js/90-tracker.js index 42ee1f7..5e1c9a2 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'); + let data = localStorage.getItem('tracker_data'); + let user = localStorage.getItem('tracker_username'); if(!data) return; data = JSON.parse(data); - var solved = {}; - var attempted = {}; - var solvednr = 0; - var attemptednr = 0; - data.problems.forEach(function(e){ - if(e.solved){ + let contests = {}, solved = {}, attempted = {}, solvednr = 0, attemptednr = 0; + data.problems.forEach(e => { + if(e.solved) { solved[e.problem] = 1; solvednr++; } else { @@ -33,10 +28,7 @@ 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; @@ -46,8 +38,8 @@ function update_tracker(){ $('#tracker_log')[0].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 => { + let id = el.getAttribute('href').split('?', 2)[0]; if(solved[id]) el.insertAdjacentHTML('beforebegin', TICK); else if(attempted[id]) @@ -55,15 +47,15 @@ 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 => { + let 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 => { + let owner = el.querySelector('.owner a'); if(!owner || owner.getAttribute('href') != '/us/' + user) return; var state = el.getElementsByClassName('r0').length ? TICK : XMARK; @@ -71,7 +63,7 @@ function update_tracker(){ }); 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'); @@ -94,7 +86,7 @@ function refresh_tracker(){ var user = localStorage.getItem('tracker_username'); var xhr = new XMLHttpRequest(); xhr.open('GET', '/us/' + user + '?format=json'); - xhr.onload = function () { + xhr.onload = () => { localStorage.setItem('tracker_data', this.responseText); localStorage.setItem('tracker_lastfetch', Date.now()); update_tracker(); @@ -116,7 +108,7 @@ $(function(){ sidebar.insertBefore(tracker, sidebar.firstChild); $('#tracker_stop').on('click', stop_tracking); $('#track_user').on('click', function() { stop_tracking(); start_tracking(this.dataset.user) }); - $('#submitform').on('submit', function() { localStorage.removeItem('tracker_lastfetch') }); + $('#submitform').on('submit', () => localStorage.removeItem('tracker_lastfetch')); if(localStorage.getItem('tracker_username')) start_tracking(localStorage.getItem('tracker_username'));