X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=js%2F90-tracker.js;h=50ba7d48baeea680432a49940d5419a8a20e6898;hb=19909af7912808638f003dbd9e8fc5904cf1ae54;hp=8e7a4433f8965affad02929e49cc431296d13fa4;hpb=d3892d73af078012472db7cf81a4cba4015d36b4;p=plack-app-gruntmaster.git diff --git a/js/90-tracker.js b/js/90-tracker.js index 8e7a443..50ba7d4 100644 --- a/js/90-tracker.js +++ b/js/90-tracker.js @@ -39,21 +39,22 @@ $('#tracker_solved').html(solvednr); $('#tracker_attempted').html(attemptednr); $('#tracker_contests').html(data.contests.length); + $('#tracker_log').attr('href', '/log/?owner=' + user); if(location.pathname == '/pb/') $('table').find('.name').find('a').each(function() { var id = $(this).attr('href').split('?', 2)[0]; if(solved[id]) - $(this).parent().append(tick()); + $(this).parent().prepend(tick()); else if(attempted[id]) - $(this).parent().append(xmark()); + $(this).parent().prepend(xmark()); }); if(location.pathname == '/ct/') $('table').find('.name').find('a').each(function() { var id = $(this).attr('href').substr(4); if(contests[id]) - $(this).parent().append(tick()); + $(this).parent().prepend(tick()); }); if(location.pathname == '/log/') @@ -74,31 +75,39 @@ localStorage.setItem('tracker_username', user); $('#tracker_userlink').attr('href', '/us/' + user).html(user); $('#tracker_tracking').removeClass('hidden'); - $('#tracker_form').addClass('hidden'); update_tracker(); + var 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(); xhr.open('GET', '/us/' + user + '?format=json'); xhr.onload = function () { localStorage.setItem('tracker_data', this.responseText); + localStorage.setItem('tracker_lastfetch', Date.now()); update_tracker(); }; xhr.send(); } + window.refresh_tracker = refresh_tracker; + window.start_tracking = start_tracking; function stop_tracking(){ clean_tracker(); localStorage.removeItem('tracker_username'); localStorage.removeItem('tracker_data'); + localStorage.removeItem('tracker_lastfetch'); $('#tracker_tracking').addClass('hidden'); - $('#tracker_form').removeClass('hidden'); } $( document ).ready(function(){ - $('#tracker').detach().prependTo($('#sidebar')).removeClass('hidden'); - $('#tracker_button').on('click', function() { start_tracking($('#tracker_username').val()) }); + $('#tracker').detach().prependTo($('#sidebar')); $('#tracker_stop').on('click', stop_tracking); - $('#track_user').removeClass('hidden'); $('#track_user').on('click', function() { stop_tracking(); start_tracking($(this).data('user')) }); + $('#submitform').on('submit', function() { localStorage.removeItem('tracker_lastfetch') }); if(localStorage.getItem('tracker_username')) start_tracking(localStorage.getItem('tracker_username'));