aboutsummaryrefslogtreecommitdiffstats
path: root/example/tweeter
diff options
context:
space:
mode:
authorAdam Abrons2010-03-16 14:38:56 -0700
committerAdam Abrons2010-03-16 14:38:56 -0700
commit2df072e3f89e8998b06b5a9e5ffb10fa32155136 (patch)
tree30fe30e7bf6dd59e3f17e78b5ade39a253ba54e1 /example/tweeter
parent9e1f085ba6e224893abc04be181f8748939bfe77 (diff)
downloadangular.js-2df072e3f89e8998b06b5a9e5ffb10fa32155136.tar.bz2
twitter using resources
Diffstat (limited to 'example/tweeter')
-rw-r--r--example/tweeter/tweeter_addressbook.html2
-rw-r--r--example/tweeter/tweeterclient.js34
2 files changed, 17 insertions, 19 deletions
diff --git a/example/tweeter/tweeter_addressbook.html b/example/tweeter/tweeter_addressbook.html
index 64a3f95e..92121d5f 100644
--- a/example/tweeter/tweeter_addressbook.html
+++ b/example/tweeter/tweeter_addressbook.html
@@ -5,7 +5,7 @@
<link rel="stylesheet" type="text/css" href="../../css/angular.css">
<script type="text/javascript" src="../../lib/underscore/underscore.js"></script>
<script type="text/javascript" src="../../lib/jquery/jquery-1.4.js"></script>
- <script type="text/javascript" src="../../angular.js"></script>
+ <script type="text/javascript" src="../../src/angular-bootstrap.js"></script>
<script type="text/javascript" src="tweeterclient.js"></script>
</head>
<body ng-class="status" ng-init="mute={}" ng-watch="$anchor.user: tweets = fetchTweets($anchor.user)">
diff --git a/example/tweeter/tweeterclient.js b/example/tweeter/tweeterclient.js
index 8c68fac0..612f9dee 100644
--- a/example/tweeter/tweeterclient.js
+++ b/example/tweeter/tweeterclient.js
@@ -1,28 +1,26 @@
function noop(){}
$(document).ready(function(){
+ function xhr(method, url, data, callback){
+ jQuery.getJSON(url, function(){
+ callback.apply(this, arguments);
+ scope.updateView();
+ })
+ }
+
+ var resourceFactory = new ResourceFactory({method: xhr});
+
+ var Tweeter = resourceFactory.route("http://twitter.com/statuses/:service:username.json", {}, {
+ home: {method:'GET', params: {service:'home_timeline'}, isArray:true },
+ user: {method:'GET', params: {service:'user_timeline/'}, isArray:true }
+ });
+
+
var scope = window.scope = angular.compile(document, {
location:angular.startUrlWatcher()
});
- scope.getJSON = function(url, callback) {
- var list = [];
- var self = this;
- self.set('status', 'fetching');
- $.getJSON(url, function(response, code){
- _(response).forEach(function(v,k){
- list[k] = v;
- });
- (callback||noop)(response);
- self.set('status', '');
- self.updateView();
- });
- return list;
- };
function fetchTweets(username){
- return scope.getJSON(
- username ?
- "http://twitter.com/statuses/user_timeline/"+username+".json" :
- "http://twitter.com/statuses/home_timeline.json");
+ return username ? Tweeter.user({username: username}) : Tweeter.home();
}
scope.set('fetchTweets', fetchTweets);