Created
August 8, 2011 13:53
-
-
Save meelash/1131770 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| fetchActivities:(callback)-> | |
| @invokeServerSide | |
| fetchActivities: | |
| params: | |
| limit: 50 | |
| middleware : (err,params,activities)=> | |
| @activities = for activity in activities | |
| Activity::create (id : activity.id, type : activity.item.type), activity | |
| @activities.fetchSubData path:"participants" | |
| callback? @activities | |
| filterActivities:(type,callback)-> | |
| @invokeServerSide | |
| filterActivities: | |
| params: | |
| filters: if ($.isArray type) then type else [type] | |
| middleware: (err, params, activities)=> | |
| #FIXME: remove dups. | |
| #This is so we have a pointer to existing activities in cache that aren't being used anywhere. Will be necessary for cache cleanup | |
| @allActivities or= [] | |
| @allActivities.push @activities | |
| # | |
| @activities = for activity in activities | |
| newRelationship = Relationship::create (id : activity.relationship._id), (item : activity.relationship) | |
| if activity.relationship.targetName is "Message_Status" | |
| Activity_StatusUpdate::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.targetName is "Message_Question" | |
| Activity_NewQuestion::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.sourceName is "User" | |
| Activity_NewRegistration::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.as is "following" | |
| Activity_FollowNotice::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.as is "friendConfirmer" | |
| Activity_NewFriendship::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.targetName is "Group" | |
| Activity_NewGroup::create null, | |
| relationship : newRelationship | |
| callback? @activities | |
| @propagateEvent (KDEventType:"Data.activities", instanceListenersOnly:yes, dataChangeType:'refresh'), @activities | |
| pageDownActivities:({}, callback)-> | |
| @invokeServerSide | |
| fetchActivities: | |
| params: | |
| limit:5 | |
| skip: @activities.length | |
| middleware : (err,params,activities)=> | |
| return unless @activities? | |
| newActivities = for activity in activities | |
| @activities.push newActivity = Activity::create (id : activity.id, type : activity.item.type), activity | |
| newActivity | |
| newActivities.fetchSubData path:"participants" | |
| callback? newActivities | |
| @propagateEvent (KDEventType:"Data.activities", instanceListenersOnly:yes, dataChangeType:'addPage'), newActivities | |
| receiveAddToActivities:(activity)-> | |
| return unless @activities? | |
| newRelationship = Relationship::create (id : activity.relationship._id), (item : activity.relationship) | |
| (newRelationship.setSourceData item : activity.source) if activity.source? and newRelationship.getSource().KDDataNeedsFetch | |
| (newRelationship.setTargetData item : activity.target) if activity.target? and newRelationship.getTarget().KDDataNeedsFetch | |
| newActivity = | |
| if activity.relationship.targetName is "Message_Status" | |
| Activity_StatusUpdate::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.targetName is "Message_Question" | |
| Activity_NewQuestion::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.sourceName is "User" | |
| Activity_NewRegistration::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.as is "following" | |
| Activity_FollowNotice::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.as is "friendConfirmer" | |
| Activity_NewFriendship::create null, | |
| relationship : newRelationship | |
| else if activity.relationship.targetName is "Group" | |
| Activity_NewGroup::create null, | |
| relationship : newRelationship | |
| @activities.unshift newActivity | |
| newActivity |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment