diff -r 978c4a0e0095 -r d473ebde73a3 client/js/main.js --- a/client/js/main.js Tue Feb 21 14:13:44 2012 +0100 +++ b/client/js/main.js Tue Feb 21 15:00:52 2012 +0100 @@ -2,6 +2,13 @@ myTweetSource, myQueueManager; +var columnCounts, + onlineTweets = [], + dumpIsPaused = false; + +var MAX_TWEETS_BEFORE_DUMP = 10, + TWEETS_TO_DUMP_AT_ONCE = 5; + function updateLastTweetList() { var _filtered = myTweetSource.afterDate(startHour), _txtFilter = $("#btv-cp-champ-filtre").val(), @@ -61,6 +68,9 @@ } $(function() { + columnCounts = columnKeywords.map(function() { + return 0; + }) setInterval(function() { var _t = Math.floor((new Date() - startHour)/1000), _s = _t % 60, @@ -103,14 +113,37 @@ } } if (_cat != -1) { - if (_cat == 2) { - console.log(_t.text); + _t.cat = _cat; + columnCounts[_cat]++; + onlineTweets.push(_t); + createBallTweetForce(_t); + if (!dumpIsPaused) { + for (var _i = 0; _i < columnCounts.length; _i++) { + if (columnCounts[_cat] > MAX_TWEETS_BEFORE_DUMP) { + var toDel = onlineTweets.splice(0,TWEETS_TO_DUMP_AT_ONCE); + + for (var _j = 0; _j < toDel.length; _j++) { + var _id = toDel[_j].id_str; + world.DestroyBody(b2bod[_id]); + + $('#'+_id).delay(10).hide("slow").queue(function() { + $(this).remove(); + }); + } + + // Regenerate column counts + columnCounts = columnKeywords.map(function() { + return 0; + }); + for (var _k = 0; _k < onlineTweets.length; _k++) { + columnCounts[onlineTweets[_k].cat]++; + } + break; + } + } } - _t.cat = _cat; - createBallTweetForce(_t); - checkSilos(); } -}); + }); $("#btv-cp-champ-filtre").keyup(function() { updateLastTweetList(); @@ -132,4 +165,14 @@ $(this).removeClass("btv-cp-status-play"); } }); + $("#btv-cp-cont-pause-aval").click(function() { + dumpIsPaused = !dumpIsPaused + if (dumpIsPaused) { + $(this).removeClass("btv-cp-status-pause"); + $(this).addClass("btv-cp-status-play"); + } else { + $(this).addClass("btv-cp-status-pause"); + $(this).removeClass("btv-cp-status-play"); + } + }); }); \ No newline at end of file