smalltalk.addPackage('TwitterWall'); smalltalk.addClass('Tweet', smalltalk.Widget, ['json'], 'TwitterWall'); smalltalk.addMethod( smalltalk.method({ selector: "json", fn: function () { var self = this; return self['@json']; return self; }, messageSends: []}), smalltalk.Tweet); smalltalk.addMethod( smalltalk.method({ selector: "json:", fn: function (aJson) { var self = this; self['@json'] = aJson; return self; }, messageSends: []}), smalltalk.Tweet); smalltalk.addMethod( smalltalk.method({ selector: "renderOn:", fn: function (tr) { var self = this; var tdUser = nil; var tdMessage = nil; var img = nil; var a = nil; var pMessage = nil; var pDate = nil; tdUser = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_td", []); smalltalk.send(smalltalk.send(tdUser, "_element", []), "_id_", ["user"]); tdMessage = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_td", []); smalltalk.send(smalltalk.send(tdMessage, "_element", []), "_id_", ["messageBox"]); smalltalk.send(tr, "_append_", [tdUser]); smalltalk.send(tr, "_append_", [tdMessage]); img = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_img", []), "_src_", [smalltalk.send(self['@json'], "_at_", ["profile_image_url"])]); smalltalk.send(smalltalk.send(img, "_element", []), "_title_", [smalltalk.send(self['@json'], "_at_", ["from_user"])]); smalltalk.send(smalltalk.send(img, "_element", []), "_longDesc_", [smalltalk.send(unescape("http%3A//twitter.com/"), "__comma", [smalltalk.send(self['@json'], "_at_", ["from_user"])])]); a = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_a", []), "_href_", [smalltalk.send(unescape("http%3A//twitter.com/"), "__comma", [smalltalk.send(self['@json'], "_at_", ["from_user"])])]); smalltalk.send(a, "_append_", [img]); smalltalk.send(tdUser, "_append_", [a]); pMessage = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_p", []); smalltalk.send(smalltalk.send(pMessage, "_element", []), "_id_", ["message"]); smalltalk.send(pMessage, "_append_", [smalltalk.send(self['@json'], "_at_", ["text"])]); smalltalk.send(tdMessage, "_append_", [pMessage]); pDate = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_p", []); smalltalk.send(smalltalk.send(pDate, "_element", []), "_id_", ["date"]); smalltalk.send(pDate, "_append_", [smalltalk.send(self['@json'], "_at_", ["created_at"])]); smalltalk.send(tdMessage, "_append_", [pDate]); return self; }, messageSends: ["td", "new", "id:", "element", "append:", "src:", "img", "at:", "title:", "longDesc:", ",", "href:", "a", "p"]}), smalltalk.Tweet); smalltalk.addMethod( smalltalk.method({ selector: "openAt:with:", fn: function (tr, aJson) { var self = this; var tweet = nil; tweet = smalltalk.send(self, "_new", []); smalltalk.send(tweet, "_json_", [aJson]); smalltalk.send(tweet, "_renderOn_", [tr]); return tr; return self; }, messageSends: ["new", "json:", "renderOn:"]}), smalltalk.Tweet.klass); smalltalk.addClass('TwitterSearch', smalltalk.Object, [], 'TwitterWall'); smalltalk.addMethod( smalltalk.method({ selector: "query", fn: function () { var self = this; var result = nil; var queryString = nil; self['@queryString'] = smalltalk.send(smalltalk.send(smalltalk.send(unescape("%23searchQuery"), "_asJQuery", []), "_val", []), "_replace_with_", [unescape("%23"), unescape("%2523")]); result = smalltalk.send(typeof jQuery == "undefined" ? nil : jQuery, "_ajax_options_", [smalltalk.send(unescape("http%3A//search.twitter.com/search.json%3Frpp%3D5%26q%3D"), "__comma", [self['@queryString']]), smalltalk.HashedCollection._fromPairs_([smalltalk.send("type", "__minus_gt", ["GET"]), smalltalk.send("success", "__minus_gt", [function (tmp) {return smalltalk.send(self, "_success_", [smalltalk.send(tmp, "_results", [])]);}]), smalltalk.send("error", "__minus_gt", [function () {return smalltalk.send(typeof window == "undefined" ? nil : window, "_alert_", ["error"]);}]), smalltalk.send("dataType", "__minus_gt", ["jsonp"])])]); return self; }, messageSends: ["replace:with:", "val", "asJQuery", "ajax:options:", ",", "->", "success:", "results", "alert:"]}), smalltalk.TwitterSearch); smalltalk.addMethod( smalltalk.method({ selector: "success:", fn: function (tweets) { var self = this; var playground = nil; var table = nil; var tr = nil; playground = smalltalk.send(unescape("%23playground"), "_asJQuery", []); smalltalk.send(playground, "_empty", []); smalltalk.send(function (html) {table = smalltalk.send(html, "_table", []);smalltalk.send(smalltalk.send(table, "_element", []), "_id_", ["twitterwall"]);return smalltalk.send(tweets, "_do_", [function (tweet) {tr = smalltalk.send(html, "_tr", []);smalltalk.send(table, "_append_", [tr]);return smalltalk.send(smalltalk.Tweet || Tweet, "_openAt_with_", [tr, tweet]);}]);}, "_appendToJQuery_", [playground]); return self; }, messageSends: ["asJQuery", "empty", "appendToJQuery:", "table", "id:", "element", "do:", "tr", "append:", "openAt:with:"]}), smalltalk.TwitterSearch);