summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-03-22 15:40:26 -0700
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-03-22 15:40:26 -0700
commit99682502119fa67f229b3e8d3c3ed0ccb68b29f9 (patch)
tree9c59486c0d6ea7d1fbdd93300e22cebaa8b367d2 /app
parent29f6b01d6343c08dc9fe1f6bdf95a645dd4e4cc0 (diff)
downloadgitlab-ce-99682502119fa67f229b3e8d3c3ed0ccb68b29f9.tar.gz
Add inifinite scroll to user activity on user page
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/dispatcher.js.coffee1
-rw-r--r--app/controllers/users_controller.rb18
-rw-r--r--app/views/users/show.html.haml3
3 files changed, 16 insertions, 6 deletions
diff --git a/app/assets/javascripts/dispatcher.js.coffee b/app/assets/javascripts/dispatcher.js.coffee
index edf482f33d8..deabaf8a784 100644
--- a/app/assets/javascripts/dispatcher.js.coffee
+++ b/app/assets/javascripts/dispatcher.js.coffee
@@ -97,6 +97,7 @@ class Dispatcher
new ProjectFork()
when 'users:show'
new User()
+ new Activities()
switch path.first()
when 'admin'
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 68130eb128c..95ee9e83dbd 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -16,17 +16,16 @@ class UsersController < ApplicationController
# Collect only groups common for both users
@groups = @user.groups & GroupsFinder.new.execute(current_user)
- # Get user activity feed for projects common for both users
- @events = @user.recent_events.
- where(project_id: authorized_projects_ids).
- with_associations.limit(30)
-
@title = @user.name
@title_url = user_path(@user)
respond_to do |format|
format.html
format.atom { render layout: false }
+ format.json do
+ load_events
+ pager_json("events/_events", @events.count)
+ end
end
end
@@ -82,4 +81,13 @@ class UsersController < ApplicationController
@authorized_projects_ids ||=
ProjectsFinder.new.execute(current_user).pluck(:id)
end
+
+ def load_events
+ # Get user activity feed for projects common for both users
+ @events = @user.recent_events.
+ where(project_id: authorized_projects_ids).
+ with_associations
+
+ @events = @events.limit(20).offset(params[:offset] || 0)
+ end
end
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
index fd96020d129..0653fb871ae 100644
--- a/app/views/users/show.html.haml
+++ b/app/views/users/show.html.haml
@@ -40,7 +40,8 @@
%strong
%i.fa.fa-rss
- = render @events
+ .content_list
+ = spinner
%aside.col-md-4
= render 'profile', user: @user
= render 'projects'