Insert javascript-dependent HTML from javascript
[plack-app-gruntmaster.git] / js / 90-tracker.js
index 16b9d8739f0e614b2f9b634cd453680f356d494f..1fa4905ed0887ba2f36221591fb3fe59b6b3bdb2 100644 (file)
@@ -9,6 +9,8 @@
                $('.tracker-info').removeClass('tracker-info info');
        }
 
+       var tracker;
+
        function update_tracker(){
                var data = localStorage.getItem('tracker_data');
                var user = localStorage.getItem('tracker_username');
                        $('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,8 +76,7 @@
        function start_tracking(user){
                localStorage.setItem('tracker_username', user);
                $('#tracker_userlink').attr('href', '/us/' + user).html(user);
-               $('#tracker_tracking').removeClass('hidden');
-               $('#tracker_form').addClass('hidden');
+               tracker.removeClass('hidden');
                update_tracker();
                var lastfetch = localStorage.getItem('tracker_lastfetch');
                if(Date.now() - lastfetch > 60 * 10 * 1000)
                localStorage.removeItem('tracker_username');
                localStorage.removeItem('tracker_data');
                localStorage.removeItem('tracker_lastfetch');
-               $('#tracker_tracking').addClass('hidden');
-               $('#tracker_form').removeClass('hidden');
+               tracker.addClass('hidden');
        }
 
        $( document ).ready(function(){
-               $('#tracker').detach().prependTo($('#sidebar'));
-               $('#tracker_button').on('click', function() { start_tracking($('#tracker_username').val()) });
+               tracker = $('<div id="tracker" class="hidden">Tracking <a id="tracker_userlink"></a>.<br><a id="tracker_stop" role="button">Stop tracking</a><br><a id="tracker_log">Job log</a><dl class="dl-horizontal"><dt>Solved</dt>    <dd id="tracker_solved">?</dd><dt>Attempted</dt> <dd id="tracker_attempted">?</dd><dt>Contests</dt>  <dd id="tracker_contests">?</dd></dl></div>');
+               tracker.prependTo($('#sidebar'));
                $('#tracker_stop').on('click', stop_tracking);
                $('#track_user').on('click', function() { stop_tracking(); start_tracking($(this).data('user')) });
                $('#submitform').on('submit', function() { localStorage.removeItem('tracker_lastfetch') });
This page took 0.010494 seconds and 4 git commands to generate.