--- a/tweetcast/gevent/client/js/script.js Wed Dec 07 19:28:46 2011 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-gtto = null;
-tweets = [];
-
-function tweetToHtml(tweet) {
- html = '<li class="tweet';
- for (var i in tweet.annotations) {
- html += ' a_' + tweet.annotations[i].name
- }
- html += '" id="tweet_' + tweet.id + '">';
- a_user = '<a href="http://twitter.com/"' + tweet.user.screen_name + ' target="_blank">';
- if (tweet.user.profile_image_url) {
- html += a_user + '<img class="tweet_profile_image" src="' + tweet.user.profile_image_url + '" /></a>';
- }
- html += '<h4>' + a_user + '@' + tweet.user.screen_name + '</a></h4><p class="tweet_created_at">' + tweet.created_at + '</p><p>';
- lastend = 0;
- txt = '';
- tweet.entities.sort(function(a, b) { return a.indice_start - b.indice_start });
- for (var i in tweet.entities) {
- txt += tweet.text.substring(lastend, tweet.entities[i].indice_start);
- lastend = tweet.entities[i].indice_end;
- switch(tweet.entities[i].type) {
- case "entity_hashtag":
- txt += '<a href="http://twitter.com/search?q=%23' + tweet.entities[i].entity.text + '" target="_blank">#' + tweet.entities[i].entity.text + '</a>';
- break;
- case "entity_user":
- txt += '<a href="http://twitter.com/' + tweet.entities[i].entity.screen_name + '" target="_blank">@' + tweet.entities[i].entity.screen_name + '</a>';
- break;
- case "entity_url":
- case "entity_media":
- txt += '<a href="' + tweet.entities[i].entity.expanded_url + '" target="_blank">' + tweet.entities[i].entity.expanded_url + '</a>';
- break;
- }
- }
- txt += tweet.text.substring(lastend);
- html += txt + '</p></li>';
- return html;
-}
-
-function scheduleTweets() {
- var tl = $("#tweetlist"), tc = $("#tweetcontainer");
- if (tweets.length != tl.children().length) {
- console.log("Tweet count error");
- }
- if (tweets.length) {
- while (tl.height() - (tc.scrollTop() + tc.height()) > 1000) {
- tl.children().last().detach();
- tweets.pop();
- }
- if (tl.height() - (tc.scrollTop() + tc.height()) < 120) {
- getTweets({
- before_id : tweets[tweets.length - 1].id,
- limit : 5
- });
- }
- getTweets({
- after_id : tweets[0].id
- });
- } else {
- getTweets({
- limit: 15
- });
- }
-}
-
-function getTweets(params) {
- $.getJSON("http://" + document.location.hostname + ":8888/?callback=?", params, function(data, a, b) {
- if (data.tweets && data.tweets.length) {
- var tl = $("#tweetlist"), tc = $("#tweetcontainer");
- html = '';
- for (var i in data.tweets) {
- html += tweetToHtml(data.tweets[i]);
- }
- if (params.before_id) {
- tl.append(html);
- tweets = tweets.concat(data.tweets);
- } else {
- var pos = tc.scrollTop(), fixScroll = (pos > 80);
- pos -= tl.height();
- tl.prepend(html);
- tweets = data.tweets.concat(tweets);
- if (fixScroll) {
- tc.scrollTop(tl.height() + pos);
- }
- }
- }
- });
-}
-
-$(document).ready(function() {
- gtto = setInterval(scheduleTweets, 1500);
-});
\ No newline at end of file