diff options
| author | Adam Abrons | 2010-03-16 14:38:56 -0700 | 
|---|---|---|
| committer | Adam Abrons | 2010-03-16 14:38:56 -0700 | 
| commit | 2df072e3f89e8998b06b5a9e5ffb10fa32155136 (patch) | |
| tree | 30fe30e7bf6dd59e3f17e78b5ade39a253ba54e1 /example/tweeter | |
| parent | 9e1f085ba6e224893abc04be181f8748939bfe77 (diff) | |
| download | angular.js-2df072e3f89e8998b06b5a9e5ffb10fa32155136.tar.bz2 | |
twitter using resources
Diffstat (limited to 'example/tweeter')
| -rw-r--r-- | example/tweeter/tweeter_addressbook.html | 2 | ||||
| -rw-r--r-- | example/tweeter/tweeterclient.js | 34 | 
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); | 
