aboutsummaryrefslogtreecommitdiffstats
path: root/example/tweeter/tweeterclient.js
blob: 2fb60b0ae550998c8e10e7b2ab1feece169a7c76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function noop(){}
$(document).ready(function(){
  var scope = window.scope = angular.compile(document);
  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");
  }

  scope.set('fetchTweets', fetchTweets);
  scope.set('users', [
      {screen_name:'mhevery', name:'Mi\u0161ko Hevery', 
       notes:'Author of <angular/> http://www.getangular.com.', 
       profile_image_url:'http://a3.twimg.com/profile_images/54360179/Me_-_Small_Banner_normal.jpg'},
      {screen_name:'abrons', name:'Adam Abrons', 
       notes:'Author of <angular/> & Ruby guru see:  http://www.angularjs.org.', 
       profile_image_url:'http://media.linkedin.com/mpr/mpr/shrink_80_80/p/2/000/005/0a8/044278d.jpg'}
    ]);
  scope.watchUrl();
  scope.init();
});