mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
angular.service('myApplication', function($resource){
|
|
this.Activity = $resource(
|
|
'https://www.googleapis.com/buzz/v1/activities/:userId/:visibility/:activityId/:comments',
|
|
{alt:'json', callback:'JSON_CALLBACK'},
|
|
{
|
|
get: {method:'JSON', params:{visibility:'@self'}},
|
|
replies: {method:'JSON', params:{visibility:'@self', comments:'@comments'}}
|
|
});
|
|
}, {inject:['$resource']});
|
|
|
|
function BuzzController(){
|
|
this.$watch('$location.hashPath', this.userChange);
|
|
}
|
|
BuzzController.prototype = {
|
|
userChange: function(){
|
|
this.userId = this.$location.hashPath;
|
|
this.activities = this.Activity.get({userId:this.userId});
|
|
},
|
|
|
|
expandReplies: function(activity) {
|
|
var self = this;
|
|
if (activity.replies) {
|
|
activity.replies.show = !activity.replies.show;
|
|
} else {
|
|
activity.replies = this.Activity.replies({userId:this.userId, activityId:activity.id}, function(){
|
|
activity.replies.show = true;
|
|
});
|
|
}
|
|
}
|
|
};
|
|
|
|
angular.widget('my:expand', function(element){
|
|
element.css('display', 'block');
|
|
this.descend(true);
|
|
return function(element) {
|
|
element.hide();
|
|
var watch = element.attr('expand');
|
|
this.$watch(watch, function(value){
|
|
if (value) {
|
|
element.delay(0).slideDown('slow');
|
|
} else {
|
|
element.slideUp('slow');
|
|
}
|
|
});
|
|
};
|
|
});
|