Browse Source

- cleanedup the ui code
- classes are in an own package now
- added input-field for arbitrary queries

Signed-off-by: Stefan Krecher <stefan.krecher@googlemail.com>

Stefan Krecher 12 years ago
parent
commit
c1f8f44e27

+ 5 - 6
examples/twitterwall/index.html

@@ -17,18 +17,17 @@
 		<p>Shows the last 5 Tweets regarding your query</p>
 	    <p>Examine the <button onClick="smalltalk.Browser._openOn_(smalltalk.TwitterSearch)"> TwitterSearch class</button></p> 
 
+	<p>Query:<br><input id="searchQuery" type="text" size="30" maxlength="30" value="#smalltalk">
+	<button onClick="smalltalk.TwitterSearch._new()._query()">update</button>
+	</p>
 	<div id="playground"></div>
 	</center>
-	<!--
-    <script type='text/javascript'> loadAmber() </script> 
-	<script type='text/javascript'> smalltalk.TwitterSearch._new()._query_('%23smalltalk') </script> 
-    -->
 	<script type="text/javascript"> 
 	loadAmber({
-		files: ['TwitterSearch.js', 'Tweet.js'],
+		files: ['TwitterWall.js'],
 		prefix: 'examples/twitterwall/js',
 		ready: function() {
-			smalltalk.TwitterSearch._new()._query_('%23smalltalk') 
+			smalltalk.TwitterSearch._new()._query() 
 		}}); 
 </script>
 	

+ 0 - 32
examples/twitterwall/js/TwitterSearch.deploy.js

@@ -1,32 +0,0 @@
-smalltalk.addClass('TwitterSearch', smalltalk.Object, [], 'Examples');
-smalltalk.addMethod(
-'_query_',
-smalltalk.method({
-selector: 'query:',
-fn: function (aQueryString) {
-    var self = this;
-    var result = nil;
-    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", [aQueryString]), smalltalk.Dictionary._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;
-}
-}),
-smalltalk.TwitterSearch);
-
-smalltalk.addMethod(
-'_success_',
-smalltalk.method({
-selector: 'success:',
-fn: function (tweets) {
-    var self = this;
-    var wall = nil;
-    var table = nil;
-    var tr = nil;
-    wall = unescape("%23playground");
-    table = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_onJQuery_", [smalltalk.send(wall, "_asJQuery", [])]), "_table", []);
-    smalltalk.send(smalltalk.send(table, "_element", []), "_id_", ["twitterwall"]);
-    smalltalk.send(tweets, "_do_", [function (tweet) {tr = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_tr", []);smalltalk.send(table, "_append_", [tr]);return smalltalk.send(smalltalk.Tweet || Tweet, "_openAt_with_", [tr, tweet]);}]);
-    return self;
-}
-}),
-smalltalk.TwitterSearch);
-

+ 0 - 42
examples/twitterwall/js/TwitterSearch.js

@@ -1,42 +0,0 @@
-smalltalk.addClass('TwitterSearch', smalltalk.Object, [], 'Examples');
-smalltalk.addMethod(
-unescape('_query_'),
-smalltalk.method({
-selector: unescape('query%3A'),
-category: 'not yet classified',
-fn: function (aQueryString) {
-    var self = this;
-    var result = nil;
-    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", [aQueryString]), smalltalk.Dictionary._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;
-},
-args: ["aQueryString"],
-source: unescape('query%3A%20aQueryString%0A%7C%20result%20%7C%0Aresult%20%3A%3D%20jQuery%20%0A%09%09%09ajax%3A%20%27http%3A//search.twitter.com/search.json%3Frpp%3D5%26q%3D%27%2C%20aQueryString%0A%09%09%09options%3A%20%23%7B%0A%09%09%09%09%27type%27%20-%3E%20%27GET%27.%0A%09%09%09%09%27success%27%20-%3E%20%5B%20%3Atmp%20%7C%20self%20success%3A%20%28tmp%20results%29%5D.%0A%09%09%09%09%27error%27%20-%3E%20%5Bwindow%20alert%3A%20%27error%27%5D.%0A%09%09%09%09%27dataType%27%20-%3E%20%27jsonp%27%0A%09%09%09%7D.%20%20'),
-messageSends: ["ajax:options:", unescape("%2C"), unescape("-%3E"), "success:", "results", "alert:"],
-referencedClasses: []
-}),
-smalltalk.TwitterSearch);
-
-smalltalk.addMethod(
-unescape('_success_'),
-smalltalk.method({
-selector: unescape('success%3A'),
-category: 'not yet classified',
-fn: function (tweets) {
-    var self = this;
-    var wall = nil;
-    var table = nil;
-    var tr = nil;
-    wall = unescape("%23playground");
-    table = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_onJQuery_", [smalltalk.send(wall, "_asJQuery", [])]), "_table", []);
-    smalltalk.send(smalltalk.send(table, "_element", []), "_id_", ["twitterwall"]);
-    smalltalk.send(tweets, "_do_", [function (tweet) {tr = smalltalk.send(smalltalk.send(smalltalk.HTMLCanvas || HTMLCanvas, "_new", []), "_tr", []);smalltalk.send(table, "_append_", [tr]);return smalltalk.send(smalltalk.Tweet || Tweet, "_openAt_with_", [tr, tweet]);}]);
-    return self;
-},
-args: ["tweets"],
-source: unescape('success%3A%20tweets%0A%7C%20wall%20table%20tr%20%7C%0Awall%20%3A%3D%20%27%23playground%27.%0Atable%20%3A%3D%20%28HTMLCanvas%20onJQuery%3A%20%28wall%20asJQuery%29%29%20%20table.%0Atable%20element%20id%3A%20%27twitterwall%27.%0A%0Atweets%20do%3A%20%5B%20%3Atweet%20%7C%20%0A%20%20%20%20%20%20%20%20%20%20%20tr%20%3A%3D%20HTMLCanvas%20new%20tr.%0A%20%20%20%20%20%20%20%20%20%20%20table%20append%3A%20tr.%0A%20%20%20%20%20%20%20%20%20%20%20Tweet%20openAt%3A%20tr%20with%3A%20tweet%0A%20%20%20%20%20%20%20%20%20%20%20%5D.'),
-messageSends: ["table", "onJQuery:", "asJQuery", "id:", "element", "do:", "tr", "new", "append:", "openAt:with:"],
-referencedClasses: [smalltalk.HTMLCanvas,smalltalk.nil]
-}),
-smalltalk.TwitterSearch);
-

+ 116 - 79
examples/twitterwall/js/Tweet.deploy.js → examples/twitterwall/js/TwitterWall.deploy.js

@@ -1,79 +1,116 @@
-smalltalk.addClass('Tweet', smalltalk.Widget, ['json'], 'Examples');
-smalltalk.addMethod(
-'_renderOn_',
-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;
-}
-}),
-smalltalk.Tweet);
-
-smalltalk.addMethod(
-'_json',
-smalltalk.method({
-selector: 'json',
-fn: function () {
-    var self = this;
-    return self['@json'];
-    return self;
-}
-}),
-smalltalk.Tweet);
-
-smalltalk.addMethod(
-'_json_',
-smalltalk.method({
-selector: 'json:',
-fn: function (aJson) {
-    var self = this;
-    self['@json'] = aJson;
-    return self;
-}
-}),
-smalltalk.Tweet);
-
-
-smalltalk.addMethod(
-'_openAt_with_',
-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;
-}
-}),
-smalltalk.Tweet.klass);
-
+smalltalk.addPackage('TwitterWall', {});
+smalltalk.addClass('Tweet', smalltalk.Widget, ['json'], 'TwitterWall');
+smalltalk.addMethod(
+'_renderOn_',
+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;
+}
+}),
+smalltalk.Tweet);
+
+smalltalk.addMethod(
+'_json',
+smalltalk.method({
+selector: 'json',
+fn: function () {
+    var self = this;
+    return self['@json'];
+    return self;
+}
+}),
+smalltalk.Tweet);
+
+smalltalk.addMethod(
+'_json_',
+smalltalk.method({
+selector: 'json:',
+fn: function (aJson) {
+    var self = this;
+    self['@json'] = aJson;
+    return self;
+}
+}),
+smalltalk.Tweet);
+
+
+smalltalk.addMethod(
+'_openAt_with_',
+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;
+}
+}),
+smalltalk.Tweet.klass);
+
+
+smalltalk.addClass('TwitterSearch', smalltalk.Object, ['queryString'], 'TwitterWall');
+smalltalk.addMethod(
+'_success_',
+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;
+}
+}),
+smalltalk.TwitterSearch);
+
+smalltalk.addMethod(
+'_query',
+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;
+}
+}),
+smalltalk.TwitterSearch);
+
+
+

+ 50 - 2
examples/twitterwall/js/Tweet.js → examples/twitterwall/js/TwitterWall.js

@@ -1,4 +1,5 @@
-smalltalk.addClass('Tweet', smalltalk.Widget, ['json'], 'Examples');
+smalltalk.addPackage('TwitterWall', {});
+smalltalk.addClass('Tweet', smalltalk.Widget, ['json'], 'TwitterWall');
 smalltalk.addMethod(
 unescape('_renderOn_'),
 smalltalk.method({
@@ -37,7 +38,7 @@ fn: function (tr) {
 args: ["tr"],
 source: unescape('renderOn%3A%20tr%0A%0A%7C%20tdUser%20tdMessage%20img%20a%20pMessage%20pDate%20%7C%0AtdUser%20%3A%3D%20HTMLCanvas%20new%20td.%0AtdUser%20element%20id%3A%20%27user%27.%0AtdMessage%20%3A%3D%20HTMLCanvas%20new%20td.%0AtdMessage%20element%20id%3A%20%27messageBox%27.%0A%0Atr%20append%3A%20tdUser.%0Atr%20append%3A%20tdMessage.%0A%0Aimg%20%3A%3D%20HTMLCanvas%20new%20img%20src%3A%20%28json%20at%3A%20%27profile_image_url%27%29%20.%0Aimg%20element%20title%3A%20%28json%20at%3A%20%27from_user%27%29.%0Aimg%20element%20longDesc%3A%20%28%27http%3A//twitter.com/%27%2C%20%28json%20at%3A%20%27from_user%27%29%29.%0A%0Aa%20%3A%3D%20HTMLCanvas%20new%20a%20href%3A%20%28%27http%3A//twitter.com/%27%2C%20%28json%20at%3A%20%27from_user%27%29%29.%0Aa%20append%3A%20img.%0A%0AtdUser%20append%3A%20a.%0A%0ApMessage%20%3A%3D%20HTMLCanvas%20new%20p.%0ApMessage%20element%20id%3A%20%27message%27.%0ApMessage%20append%3A%20%28json%20at%3A%20%27text%27%29.%0AtdMessage%20append%3A%20pMessage.%0A%0ApDate%20%3A%3D%20HTMLCanvas%20new%20p.%0ApDate%20element%20id%3A%20%27date%27.%0ApDate%20append%3A%20%28json%20at%3A%20%27created_at%27%29.%0AtdMessage%20append%3A%20pDate.'),
 messageSends: ["td", "new", "id:", "element", "append:", "src:", "img", "at:", "title:", "longDesc:", unescape("%2C"), "href:", "a", "p"],
-referencedClasses: [smalltalk.HTMLCanvas]
+referencedClasses: ["HTMLCanvas"]
 }),
 smalltalk.Tweet);
 
@@ -96,3 +97,50 @@ messageSends: ["new", "json:", "renderOn:"],
 referencedClasses: []
 }),
 smalltalk.Tweet.klass);
+
+
+smalltalk.addClass('TwitterSearch', smalltalk.Object, ['queryString'], 'TwitterWall');
+smalltalk.addMethod(
+unescape('_success_'),
+smalltalk.method({
+selector: unescape('success%3A'),
+category: 'not yet classified',
+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;
+},
+args: ["tweets"],
+source: unescape('success%3A%20tweets%0A%7C%20playground%20table%20tr%20%7C%0Aplayground%20%3A%3D%20%27%23playground%27%20asJQuery.%0Aplayground%20empty.%0A%20%5B%3Ahtml%20%7C%20%0A%09table%20%3A%3D%20html%20table.%0A%09table%20element%20id%3A%20%27twitterwall%27.%0A%0A%09tweets%20do%3A%20%5B%20%3Atweet%20%7C%20%0A%20%20%20%20%20%20%20%20%09%20%20%20tr%20%3A%3D%20html%20tr.%0A%09%20%20%20%20%20%20%20%20%20%20%20table%20append%3A%20tr.%0A%20%20%20%20%20%20%20%20%09%20%20%20Tweet%20openAt%3A%20tr%20with%3A%20tweet%0A%20%20%20%20%20%20%20%20%5D%0A%5D%20appendToJQuery%3A%20playground.'),
+messageSends: ["asJQuery", "empty", "appendToJQuery:", "table", "id:", "element", "do:", "tr", "append:", "openAt:with:"],
+referencedClasses: ["Tweet"]
+}),
+smalltalk.TwitterSearch);
+
+smalltalk.addMethod(
+unescape('_query'),
+smalltalk.method({
+selector: unescape('query'),
+category: 'not yet classified',
+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;
+},
+args: [],
+source: unescape('query%0A%7C%20result%20queryString%20%7C%0AqueryString%20%3A%3D%20%28%27%23searchQuery%27%20%20asJQuery%20val%29%20replace%3A%20%27%23%27%20with%3A%20%27%2523%27.%0Aresult%20%3A%3D%20jQuery%20%0A%09%09%09ajax%3A%20%27http%3A//search.twitter.com/search.json%3Frpp%3D5%26q%3D%27%2C%20queryString%0A%09%09%09options%3A%20%23%7B%0A%09%09%09%09%27type%27%20-%3E%20%27GET%27.%0A%09%09%09%09%27success%27%20-%3E%20%5B%20%3Atmp%20%7C%20self%20success%3A%20%28tmp%20results%29%5D.%0A%09%09%09%09%27error%27%20-%3E%20%5Bwindow%20alert%3A%20%27error%27%5D.%0A%09%09%09%09%27dataType%27%20-%3E%20%27jsonp%27%0A%09%09%09%7D.'),
+messageSends: ["replace:with:", "val", "asJQuery", "ajax:options:", unescape("%2C"), unescape("-%3E"), "success:", "results", "alert:"],
+referencedClasses: []
+}),
+smalltalk.TwitterSearch);
+
+
+

+ 0 - 30
examples/twitterwall/st/TwitterSearch.st

@@ -1,30 +0,0 @@
-Object subclass: #TwitterSearch
-	instanceVariableNames: ''
-	category: 'Examples'!
-
-!TwitterSearch methodsFor: 'not yet classified'!
-
-query: aQueryString
-| result |
-result := jQuery 
-			ajax: 'http://search.twitter.com/search.json?rpp=5&q=', aQueryString
-			options: #{
-				'type' -> 'GET'.
-				'success' -> [ :tmp | self success: (tmp results)].
-				'error' -> [window alert: 'error'].
-				'dataType' -> 'jsonp'
-			}.
-!
-
-success: tweets
-| wall table tr |
-wall := '#playground'.
-table := (HTMLCanvas onJQuery: (wall asJQuery))  table.
-table element id: 'twitterwall'.
-
-tweets do: [ :tweet | 
-           tr := HTMLCanvas new tr.
-           table append: tr.
-           Tweet openAt: tr with: tweet
-           ].
-! !

+ 91 - 54
examples/twitterwall/st/Tweet.st → examples/twitterwall/st/TwitterWall.st

@@ -1,54 +1,91 @@
-Widget subclass: #Tweet
-	instanceVariableNames: 'json'
-	category: 'Examples'!
-
-!Tweet methodsFor: 'not yet classified'!
-
-renderOn: tr
-
-| tdUser tdMessage img a pMessage pDate |
-tdUser := HTMLCanvas new td.
-tdUser element id: 'user'.
-tdMessage := HTMLCanvas new td.
-tdMessage element id: 'messageBox'.
-
-tr append: tdUser.
-tr append: tdMessage.
-
-img := HTMLCanvas new img src: (json at: 'profile_image_url') .
-img element title: (json at: 'from_user').
-img element longDesc: ('http://twitter.com/', (json at: 'from_user')).
-
-a := HTMLCanvas new a href: ('http://twitter.com/', (json at: 'from_user')).
-a append: img.
-
-tdUser append: a.
-
-pMessage := HTMLCanvas new p.
-pMessage element id: 'message'.
-pMessage append: (json at: 'text').
-tdMessage append: pMessage.
-
-pDate := HTMLCanvas new p.
-pDate element id: 'date'.
-pDate append: (json at: 'created_at').
-tdMessage append: pDate.
-!
-
-json
-^json
-!
-
-json: aJson
-json := aJson
-! !
-
-!Tweet class methodsFor: 'not yet classified'!
-
-openAt: tr with: aJson
-| tweet |
-tweet := self new.
-tweet json: aJson.
-tweet renderOn: tr.
-^tr
-! !
+Smalltalk current createPackage: 'TwitterWall' properties: #{}!
+Widget subclass: #Tweet
+	instanceVariableNames: 'json'
+	category: 'TwitterWall'!
+
+!Tweet methodsFor: 'not yet classified'!
+
+renderOn: tr
+
+| tdUser tdMessage img a pMessage pDate |
+tdUser := HTMLCanvas new td.
+tdUser element id: 'user'.
+tdMessage := HTMLCanvas new td.
+tdMessage element id: 'messageBox'.
+
+tr append: tdUser.
+tr append: tdMessage.
+
+img := HTMLCanvas new img src: (json at: 'profile_image_url') .
+img element title: (json at: 'from_user').
+img element longDesc: ('http://twitter.com/', (json at: 'from_user')).
+
+a := HTMLCanvas new a href: ('http://twitter.com/', (json at: 'from_user')).
+a append: img.
+
+tdUser append: a.
+
+pMessage := HTMLCanvas new p.
+pMessage element id: 'message'.
+pMessage append: (json at: 'text').
+tdMessage append: pMessage.
+
+pDate := HTMLCanvas new p.
+pDate element id: 'date'.
+pDate append: (json at: 'created_at').
+tdMessage append: pDate.
+!
+
+json
+^json
+!
+
+json: aJson
+json := aJson
+! !
+
+!Tweet class methodsFor: 'not yet classified'!
+
+openAt: tr with: aJson
+| tweet |
+tweet := self new.
+tweet json: aJson.
+tweet renderOn: tr.
+^tr
+! !
+
+Object subclass: #TwitterSearch
+	instanceVariableNames: 'queryString'
+	category: 'TwitterWall'!
+
+!TwitterSearch methodsFor: 'not yet classified'!
+
+success: tweets
+| playground table tr |
+playground := '#playground' asJQuery.
+playground empty.
+ [:html | 
+	table := html table.
+	table element id: 'twitterwall'.
+
+	tweets do: [ :tweet | 
+        	   tr := html tr.
+	           table append: tr.
+        	   Tweet openAt: tr with: tweet
+        ]
+] appendToJQuery: playground.
+!
+
+query
+| result queryString |
+queryString := ('#searchQuery'  asJQuery val) replace: '#' with: '%23'.
+result := jQuery 
+			ajax: 'http://search.twitter.com/search.json?rpp=5&q=', queryString
+			options: #{
+				'type' -> 'GET'.
+				'success' -> [ :tmp | self success: (tmp results)].
+				'error' -> [window alert: 'error'].
+				'dataType' -> 'jsonp'
+			}.
+! !
+