]> iEval git - gruntmaster-page.git/blobdiff - js/90-tracker.js
Add a Track user link on us_entry
[gruntmaster-page.git] / js / 90-tracker.js
index 5c71e12c5d5a165c98f8eb71bbe1e757a8918af1..a475ee850bd5ad5fbbd00c5b84c5e30efa6165ec 100644 (file)
@@ -4,6 +4,11 @@
        function tick()  { return $('<span class="tick tracker-mark">✔</span>') }
        function xmark() { return $('<span class="x tracker-mark">✘</span>')    }
 
+       function clean_tracker(){
+               $('.tracker-mark').detach();
+               $('.tracker-info').removeClass('tracker-info info');
+       }
+
        function update_tracker(){
                var data = localStorage.getItem('tracker_data');
                var user = localStorage.getItem('tracker_username');
                        contests[e.contest] = 1;
                });
 
+               clean_tracker();
                $('#tracker_userlink').html(data.name);
                $('#tracker_solved').html(solvednr);
                $('#tracker_attempted').html(attemptednr);
                $('#tracker_contests').html(data.contests.length);
 
-               $('.tracker-mark').detach();
                if(location.pathname == '/pb/')
                        $('table').find('.name').find('a').each(function() {
                                var id = $(this).attr('href').split('?', 2)[0];
 
                if(location.pathname == '/log/')
                        $('table').find('tbody').find('tr').each(function() {
-                               if($(this).find('.owner').find('a').attr('href') != "/us/" + user)
+                               if($(this).find('.owner').find('a').attr('href') != '/us/' + user)
                                        return;
                                $(this).find('.id').append($(this).find('.r0').size() ? tick() : xmark());
                        });
+
+               if(location.pathname.match(/^\/st\//) || location.pathname == '/us/')
+                       $('table').find('tbody').find('tr').each(function() {
+                               if($(this).find('.user').find('a').attr('href') == '/us/' + user)
+                                       $(this).addClass('info tracker-info');
+                       });
        }
 
        function start_tracking(user){
@@ -76,7 +87,7 @@
        }
 
        function stop_tracking(){
-               $('.tracker-mark').detach();
+               clean_tracker();
                localStorage.removeItem('tracker_username');
                localStorage.removeItem('tracker_data');
                $('#tracker_tracking').addClass('hidden');
@@ -87,6 +98,8 @@
                $('#tracker').detach().prependTo($('#sidebar')).removeClass('hidden');
                $('#tracker_button').on('click', function() { start_tracking($('#tracker_username').val()) });
                $('#tracker_stop').on('click', stop_tracking);
+               $('#track_user').removeClass('hidden');
+               $('#track_user').on('click', function() { stop_tracking(); start_tracking($(this).data('user')) });
 
                if(localStorage.getItem('tracker_username'))
                        start_tracking(localStorage.getItem('tracker_username'));
This page took 0.026039 seconds and 4 git commands to generate.