Skip to content

Instantly share code, notes, and snippets.

@leeprobert
Created March 30, 2012 14:09
Show Gist options
  • Save leeprobert/2251770 to your computer and use it in GitHub Desktop.
Save leeprobert/2251770 to your computer and use it in GitHub Desktop.
TwitterScript Flex demo (requires https://github.com/leeprobert/twitterscript)
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955"
minHeight="600"
addedToStage="init()"
>
<s:layout>
<s:VerticalLayout
paddingBottom="20"
paddingLeft="20"
paddingRight="20"
paddingTop="20"
/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import spark.events.TextOperationEvent;
import twitter.api.Twitter;
import twitter.api.TwitterSearch;
import twitter.api.data.TwitterStatus;
import twitter.api.events.TwitterEvent;
private static const TWITTER_USER:String = "stephenfry";
private var _twitter:Twitter;
private var _twitterSearch:TwitterSearch;
[Bindable]
private var isBusy:Boolean = false;
[Bindable]
private var searchResultData:ArrayCollection;
private function init():void
{
_twitter = new Twitter();
_twitterSearch = new TwitterSearch();
//_twitter.loadUserTimeline(TWITTER_USER);
//_twitter.addEventListener(TwitterEvent.ON_USER_TIMELINE_RESULT, userTimelineResult);
_twitter.addEventListener(TwitterEvent.ON_SEARCH, onSearchResult, false,0,true);
}
private function userTimelineResult(e:TwitterEvent):void
{
var twitterStatus:TwitterStatus;
for (var i:* in e.data)
{
twitterStatus = e.data[i];
trace("user tweets",twitterStatus.text);
}
}
private function onSearchResult(event : TwitterEvent) : void
{
isBusy = false;
if(searchResultData) searchResultData.removeAll();
else searchResultData = new ArrayCollection(event.data as Array);
var twitterStatus : TwitterStatus;
for (var i : int = 0; i < searchResultData.length; i++)
{
twitterStatus = searchResultData.getItemAt(i) as TwitterStatus;
trace("search result:",twitterStatus.text);
}
}
protected function button1_clickHandler(event:MouseEvent):void
{
_twitterSearch.addKeyword(escape(searchInputText.text));
_twitter.search(_twitterSearch);
isBusy = true;
}
]]>
</fx:Script>
<s:HGroup
verticalAlign="middle"
>
<s:Label
text="SEARCH :"
/>
<s:TextInput
id="searchInputText"
text="#lastminute"
/>
<s:Button
label="GO"
enabled="{!isBusy &amp;&amp; searchInputText.text != ''}"
click="button1_clickHandler(event)"
/>
</s:HGroup>
<s:DataGrid
id="dataGrid"
width="100%"
dataProvider="{searchResultData}"
>
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="createdAt" headerText="Created" />
<s:GridColumn dataField="id" headerText="id" />
<s:GridColumn dataField="text" headerText="text" />
</s:ArrayList>
</s:columns>
</s:DataGrid>
</s:Application>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment