angular.js/example/tweeter/tweeterclient.js

39 lines
1.3 KiB
JavaScript
Raw Normal View History

2010-01-19 01:56:08 +00:00
function noop(){}
$(document).ready(function(){
2010-01-23 23:54:58 +00:00
var scope = window.scope = angular.compile(document, {
location:angular.startUrlWatcher()
});
2010-01-19 01:56:08 +00:00
scope.getJSON = function(url, callback) {
var list = [];
var self = this;
self.set('status', 'fetching');
$.getJSON(url, function(response, code){
2010-01-19 01:56:08 +00:00
_(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', [
2010-01-20 15:08:57 +00:00
{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'}
2010-01-19 01:56:08 +00:00
]);
scope.init();
});