client/js/main.js
author veltr
Fri, 24 Feb 2012 17:46:20 +0100
changeset 44 02971f8dcaa5
parent 40 c0205b71e013
permissions -rw-r--r--
set onair time, podium improvements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
     1
var myPodium,
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
     2
    myTweetSource,
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
     3
    myQueueManager;
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
     4
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
     5
var columnCounts,
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
     6
    onlineTweets = [],
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
     7
    dumpIsPaused = false;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
     8
25
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
     9
var MAX_TWEETS_BEFORE_DUMP = 20,
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    10
    TWEETS_TO_DUMP_AT_ONCE = 10;
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
    11
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    12
function updateLastTweetList() {
39
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    13
    var _filtered = myTweetSource, //.afterDate(startHour),
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    14
        _txtFilter = $("#btv-cp-champ-filtre").val(),
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    15
        _reFilter = null;
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    16
    if (_txtFilter.length > 1) {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    17
        _filtered = _filtered.search(_txtFilter);
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    18
        _reFilter = regexpFromText(_txtFilter);
25
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    19
        for (var _i = 0; _i < onlineTweets.length; _i++) {
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    20
            if (onlineTweets[_i].text.search(_reFilter) == -1) {
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    21
                $('#'+onlineTweets[_i].id_str).fadeTo(250, 0.1);
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    22
            } else {
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    23
                $('#'+onlineTweets[_i].id_str).fadeTo(250, 1);
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    24
            }
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    25
        }
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    26
    } else {
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    27
        for (var _i = 0; _i < onlineTweets.length; _i++) {
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    28
            $('#'+onlineTweets[_i].id_str).fadeTo(250, 1);
8a25cd7b2761 added tweet filtering
veltr
parents: 23
diff changeset
    29
        }
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    30
    }
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    31
    $('#btv-cp-liste-tweets-tout').html(
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    32
        _filtered.reverse().slice(0,20).map(function(_t) {
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    33
            return '<li onclick="addTweetToSelection(this); return false;"><a title="Ajouter à la sélection" href="#">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    34
                + '<span class="btv-cp-tweet-date tweet-data-date">'
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    35
                + _t.created_at.match(/\d+:\d+:\d+/)[0]
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    36
                + '</span> <span class="btv-cp-tweet-from tweet-data-from">'
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    37
                + ( _reFilter ? ('@' + _t.from_user).replace(_reFilter, '<span class="btv-cp-highlight">$1</span>') : ('@' + _t.from_user) )
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    38
                + '</span> <span class="btv-cp-tweet-from-name tweet-data-from-name">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    39
                + _t.from_user_name
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    40
                + '</span> <span class="btv-cp-tweet-text tweet-data-text">'
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    41
                + ( _reFilter ? _t.text.replace(_reFilter, '<span class="btv-cp-highlight">$1</span>') : _t.text )
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    42
                + '</span><img class="btv-cp-tweet-image tweet-data-image" src="'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    43
                + _t.profile_image_url
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    44
                + '" /><div class="btv-cp-tweet-button btv-cp-tweet-add"></div></a></li>'
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    45
        }).join('')
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    46
    );
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    47
}
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    48
39
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    49
function saveTweetSelection() {
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    50
    if (window.localStorage) {
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    51
        localStorage.setItem('listetweets', $("#btv-cp-liste-tweets-selection").html());
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    52
    }
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    53
}
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
    54
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    55
function addTweetToSelection(_e) {
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    56
    $("#btv-cp-liste-tweets-selection").prepend(
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    57
        '<li><a title="Afficher sur l\'écran" href="#" onclick="showTweetOnScreen(this); return false;">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    58
        + '<span class="btv-cp-tweet-date tweet-data-date">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    59
        + $(_e).find(".tweet-data-date").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    60
        + '</span>  <span class="btv-cp-tweet-from tweet-data-from">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    61
        + $(_e).find(".tweet-data-from").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    62
        + '</span>  <span class="btv-cp-tweet-from-name tweet-data-from-name">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    63
        + $(_e).find(".tweet-data-from-name").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    64
        + '</span> <span class="btv-cp-tweet-text tweet-data-text">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    65
        + $(_e).find(".tweet-data-text").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    66
        + '</span><img class="btv-cp-tweet-image tweet-data-image" src="'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    67
        + $(_e).find(".tweet-data-image").attr("src")
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    68
        + '" /><div class="btv-cp-tweet-button btv-cp-tweet-show"></div></a>'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    69
        + '<a title="Supprimer de cette liste" href="#" onclick="$(this).parent().detach(); saveTweetSelection(); return false;"><div class="btv-cp-tweet-button btv-cp-tweet-remove"></div></a></li>'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    70
    );
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    71
    saveTweetSelection();
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    72
}
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    73
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    74
function showTweetOnScreen(_e) {
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    75
    $("#btv-bigtweet").html('<img class="btv-bigtweet-image" src="'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    76
    + $(_e).find(".tweet-data-image").attr("src")
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    77
    + '" /><p class="btv-bigtweet-screen-name">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    78
    + $(_e).find(".tweet-data-from").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    79
    + '</p><p class="btv-bigtweet-name">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    80
    + $(_e).find(".tweet-data-from-name").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    81
    +'</p><p class="btv-bigtweet-text">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    82
    + $(_e).find(".tweet-data-text").text()
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    83
    +'</p>').show();
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    84
    $(".btv-cp-hide-tweets").show();
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    85
}
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
    86
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    87
function showTooltip(_t, _x, _y) {
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    88
    $("#btv-tooltip").html('<img class="btv-tooltip-image tweet-data-image" src="'
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    89
        + _t.profile_image_url
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    90
        + '" /><p class="btv-tooltip-name"><span class="tweet-data-from">'
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    91
        + _t.from_user
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    92
        + '</span> (<span class="tweet-data-from-name">'
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    93
        + _t.from_user_name
40
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    94
        +'</span>)<span class="btv-tooltip-date tweet-data-date">'
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    95
        + _t.created_at.match(/\d+:\d+:\d+/)[0]
c0205b71e013 Corrected localStorage
veltr
parents: 39
diff changeset
    96
        + '</span></p><p class="tweet-data-text">'
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    97
        + _t.text
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    98
        +'</p><div class="btv-tooltip-arrow"></div>').show().css({
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
    99
            "left": _x + "px",
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   100
            "top": _y + "px",
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   101
        })
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   102
}
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   103
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   104
function hideTooltip() {
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   105
    $("#btv-tooltip").hide();
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   106
}
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   107
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   108
function showControlPanel() {
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   109
    $("#btv-cp-container").dequeue().animate({
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   110
            "left": 0
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   111
        });
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   112
}
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   113
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   114
function hideControlPanel() {
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   115
    $("#btv-cp-container").dequeue().animate({
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   116
            "left": "-315px"
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   117
        });
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   118
}
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   119
32
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   120
function updatePodiumAndLabels(_counts) {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   121
    myPodium.update(_counts);
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   122
    $("#podium-chiffres").html(_counts.map(function(_c) {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   123
        return '<li>' + _c + '</li>'
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   124
    }).join(""));
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   125
}
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   126
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   127
function getPodium() {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   128
    $.getJSON(serverUrl
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   129
        + 'podium/'
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   130
        + Math.floor(startHour/1000)
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   131
        + '/'
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   132
        + columnKeywords.map(function(_c) {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   133
            return encodeURIComponent(_c);
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   134
        }).join(',')
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   135
        + '?callback=?',
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   136
    function(_data) {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   137
        var _counts = columnKeywords.map(function(_c) {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   138
            return _data.podium[_c] || 0;
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   139
        });
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   140
        $("#btv-cp-nb-tweets").html(_data.total);
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   141
        updatePodiumAndLabels(_counts);
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   142
   });
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   143
}
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   144
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   145
$(function() {
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   146
    columnCounts = columnKeywords.map(function() {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   147
        return 0;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   148
    })
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   149
    setInterval(function() {
44
02971f8dcaa5 set onair time, podium improvements
veltr
parents: 40
diff changeset
   150
        var _d = (new Date() - startHour),
02971f8dcaa5 set onair time, podium improvements
veltr
parents: 40
diff changeset
   151
            _t = Math.abs(Math.floor(_d/1000)),
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   152
            _s = _t % 60,
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   153
            _m = Math.floor(_t/60) % 60,
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   154
            _h = Math.floor(_t/3600);
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   155
        $("#btv-cp-temps").html(
44
02971f8dcaa5 set onair time, podium improvements
veltr
parents: 40
diff changeset
   156
            (_d < 0 ? '-' : '' ) + _h  + ':' + (_m < 10 ? '0' : '') + _m + ':' + (_s < 10 ? '0' : '') + _s
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   157
        )
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   158
    }, 500);
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   159
    myPodium = new Btv_Podium([0,0,0,0], { minHeight: 50 });
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   160
    
32
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   161
    if (typeof serverUrl != "undefined") {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   162
        setInterval(getPodium, 2000);
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   163
    }
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   164
    
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   165
    $("#podium-labels").html(columnKeywords.map(function(_w) {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   166
        return '<li>' + _w + '</li>'
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   167
    }).join(""));
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   168
    
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   169
    myTweetSource = new Btv_TweetSource({
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   170
        keywords: searchKeywords
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   171
    });
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   172
    myTweetSource.setOnNewTweets(function() {
32
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   173
        updateLastTweetList();
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   174
        if (typeof serverUrl == "undefined") {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   175
            var _filtered = this.afterDate(startHour);
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   176
            $("#btv-cp-nb-tweets").html(_filtered.count());
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   177
            var _counts = [];
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   178
            for (var _i = 0; _i < columnKeywords.length; _i++) {
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   179
                _counts.push(_filtered.search(columnKeywords[_i]).count());
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   180
            }
1e47b1f9f42d Added server communication in the client and corrected server code
veltr
parents: 26
diff changeset
   181
            updatePodiumAndLabels(_counts);
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   182
        }
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   183
    });
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   184
    myQueueManager = new Btv_TweetQueueManager(myTweetSource, function(_t) {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   185
        var _cat = -1;
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   186
        for (var i = 0; i < columnKeywords.length; i++) {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   187
            if (_t.text.search(regexpFromText(columnKeywords[i])) != -1) {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   188
                _cat = i;
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   189
                break;
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   190
            }
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   191
        }
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   192
        if (_cat != -1) {
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   193
            _t.cat = _cat;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   194
            columnCounts[_cat]++;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   195
            onlineTweets.push(_t);
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   196
            createBallTweetForce(_t);
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   197
            if (!dumpIsPaused) {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   198
                for (var _i = 0; _i < columnCounts.length; _i++) {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   199
                    if (columnCounts[_cat] > MAX_TWEETS_BEFORE_DUMP) {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   200
                        var toDel = onlineTweets.splice(0,TWEETS_TO_DUMP_AT_ONCE);
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   201
                        
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   202
                        for (var _j = 0; _j < toDel.length; _j++) {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   203
                            var _id = toDel[_j].id_str;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   204
                            world.DestroyBody(b2bod[_id]);
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   205
                            
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   206
                            $('#'+_id).fadeTo(500, 0, function() {
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   207
                                $(this).remove(); 
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   208
                            });
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   209
                        }
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   210
                        
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   211
                        // Regenerate column counts
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   212
                        columnCounts = columnKeywords.map(function() {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   213
                            return 0;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   214
                        });
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   215
                        for (var _k = 0; _k < onlineTweets.length; _k++) {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   216
                            columnCounts[onlineTweets[_k].cat]++;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   217
                        }
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   218
                        break;
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   219
                    }
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   220
                }
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   221
            }
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   222
        }
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   223
    });
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   224
    
26
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   225
    $("#btv-cp-container").mouseover(showControlPanel).mouseout(hideControlPanel);
83cf3d8be396 Added tooltip
veltr
parents: 25
diff changeset
   226
    
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   227
    $("#btv-cp-champ-filtre").keyup(function() {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   228
        updateLastTweetList();
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   229
    });
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   230
    $("#btv-cp-clear-filtre").click(function() {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   231
        $("#btv-cp-champ-filtre").val("");
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   232
        updateLastTweetList();
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   233
        return false; 
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   234
    });
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   235
    $("#btv-bigtweet, .btv-cp-hide-tweets").click(function() {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   236
        $("#btv-bigtweet, .btv-cp-hide-tweets").hide();
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   237
    });
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   238
    $("#btv-cp-cont-pause-amont").click(function() {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   239
       if (myQueueManager.playPause()) {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   240
           $(this).removeClass("btv-cp-status-pause");
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   241
           $(this).addClass("btv-cp-status-play");
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   242
       } else {
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   243
           $(this).addClass("btv-cp-status-pause");
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   244
           $(this).removeClass("btv-cp-status-play");
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   245
       }
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   246
    });
23
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   247
    $("#btv-cp-cont-pause-aval").click(function() {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   248
        dumpIsPaused = !dumpIsPaused
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   249
        if (dumpIsPaused) {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   250
            $(this).removeClass("btv-cp-status-pause");
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   251
            $(this).addClass("btv-cp-status-play");
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   252
        } else {
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   253
            $(this).addClass("btv-cp-status-pause");
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   254
            $(this).removeClass("btv-cp-status-play");
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   255
        }
d473ebde73a3 changed the way columns were dumped
veltr
parents: 19
diff changeset
   256
    });
39
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   257
    
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   258
    if (window.localStorage) {
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   259
        var _tw = localStorage.getItem('listetweets');
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   260
        if (_tw) {
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   261
            $("#btv-cp-liste-tweets-selection").html(_tw);
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   262
        }
c9378e7e853a added Local Storage
veltr
parents: 32
diff changeset
   263
    }
10
dd7d86fbee70 Tweet Queue Algorithm + Counter
veltr
parents:
diff changeset
   264
});