Commit 33aea41708b94f480b6eaad760e26abe17a37dfa
1 parent
70c2e1d7
Exists in
master
and in
4 other branches
Drop rjs from Infinite scrolling
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
12 changed files
with
30 additions
and
21 deletions
Show diff stats
app/assets/javascripts/commits.js.coffee
| @@ -4,13 +4,13 @@ class CommitsList | @@ -4,13 +4,13 @@ class CommitsList | ||
| 4 | limit: 0 | 4 | limit: 0 |
| 5 | offset: 0 | 5 | offset: 0 |
| 6 | @disable = false | 6 | @disable = false |
| 7 | - | 7 | + |
| 8 | @showProgress: -> | 8 | @showProgress: -> |
| 9 | $('.loading').show() | 9 | $('.loading').show() |
| 10 | - | 10 | + |
| 11 | @hideProgress: -> | 11 | @hideProgress: -> |
| 12 | $('.loading').hide() | 12 | $('.loading').hide() |
| 13 | - | 13 | + |
| 14 | @init: (ref, limit) -> | 14 | @init: (ref, limit) -> |
| 15 | $(".day-commits-table li.commit").live 'click', (event) -> | 15 | $(".day-commits-table li.commit").live 'click', (event) -> |
| 16 | if event.target.nodeName != "A" | 16 | if event.target.nodeName != "A" |
| @@ -21,7 +21,7 @@ class CommitsList | @@ -21,7 +21,7 @@ class CommitsList | ||
| 21 | @data.ref = ref | 21 | @data.ref = ref |
| 22 | @data.limit = limit | 22 | @data.limit = limit |
| 23 | @data.offset = limit | 23 | @data.offset = limit |
| 24 | - | 24 | + |
| 25 | this.initLoadMore() | 25 | this.initLoadMore() |
| 26 | this.showProgress() | 26 | this.showProgress() |
| 27 | 27 | ||
| @@ -32,7 +32,9 @@ class CommitsList | @@ -32,7 +32,9 @@ class CommitsList | ||
| 32 | url: location.href | 32 | url: location.href |
| 33 | data: @data | 33 | data: @data |
| 34 | complete: this.hideProgress | 34 | complete: this.hideProgress |
| 35 | - dataType: "script" | 35 | + success: (data) -> |
| 36 | + CommitsList.append(data.count, data.html) | ||
| 37 | + dataType: "json" | ||
| 36 | 38 | ||
| 37 | @append: (count, html) -> | 39 | @append: (count, html) -> |
| 38 | $("#commits-list").append(html) | 40 | $("#commits-list").append(html) |
| @@ -40,7 +42,7 @@ class CommitsList | @@ -40,7 +42,7 @@ class CommitsList | ||
| 40 | @data.offset += count | 42 | @data.offset += count |
| 41 | else | 43 | else |
| 42 | @disable = true | 44 | @disable = true |
| 43 | - | 45 | + |
| 44 | @initLoadMore: -> | 46 | @initLoadMore: -> |
| 45 | $(document).unbind('scroll') | 47 | $(document).unbind('scroll') |
| 46 | $(document).endlessScroll | 48 | $(document).endlessScroll |
app/assets/javascripts/pager.js.coffee
| @@ -19,8 +19,9 @@ | @@ -19,8 +19,9 @@ | ||
| 19 | data: "limit=" + @limit + "&offset=" + @offset | 19 | data: "limit=" + @limit + "&offset=" + @offset |
| 20 | complete: -> | 20 | complete: -> |
| 21 | $(".loading").hide() | 21 | $(".loading").hide() |
| 22 | - | ||
| 23 | - dataType: "script" | 22 | + success: (data) -> |
| 23 | + Pager.append(data.count, data.html) | ||
| 24 | + dataType: "json" | ||
| 24 | 25 | ||
| 25 | append: (count, html) -> | 26 | append: (count, html) -> |
| 26 | $(".content_list").append html | 27 | $(".content_list").append html |
app/controllers/application_controller.rb
| @@ -174,4 +174,18 @@ class ApplicationController < ActionController::Base | @@ -174,4 +174,18 @@ class ApplicationController < ActionController::Base | ||
| 174 | filters = cookies['event_filter'].split(',') if cookies['event_filter'].present? | 174 | filters = cookies['event_filter'].split(',') if cookies['event_filter'].present? |
| 175 | @event_filter ||= EventFilter.new(filters) | 175 | @event_filter ||= EventFilter.new(filters) |
| 176 | end | 176 | end |
| 177 | + | ||
| 178 | + # JSON for infinite scroll via Pager object | ||
| 179 | + def pager_json(partial, count) | ||
| 180 | + html = render_to_string( | ||
| 181 | + partial, | ||
| 182 | + layout: false, | ||
| 183 | + formats: [:html] | ||
| 184 | + ) | ||
| 185 | + | ||
| 186 | + render json: { | ||
| 187 | + html: html, | ||
| 188 | + count: count | ||
| 189 | + } | ||
| 190 | + end | ||
| 177 | end | 191 | end |
app/controllers/dashboard_controller.rb
| @@ -22,7 +22,7 @@ class DashboardController < ApplicationController | @@ -22,7 +22,7 @@ class DashboardController < ApplicationController | ||
| 22 | 22 | ||
| 23 | respond_to do |format| | 23 | respond_to do |format| |
| 24 | format.html | 24 | format.html |
| 25 | - format.js | 25 | + format.json { pager_json("events/_events", @events.count) } |
| 26 | format.atom { render layout: false } | 26 | format.atom { render layout: false } |
| 27 | end | 27 | end |
| 28 | end | 28 | end |
app/controllers/groups_controller.rb
| @@ -38,7 +38,7 @@ class GroupsController < ApplicationController | @@ -38,7 +38,7 @@ class GroupsController < ApplicationController | ||
| 38 | 38 | ||
| 39 | respond_to do |format| | 39 | respond_to do |format| |
| 40 | format.html | 40 | format.html |
| 41 | - format.js | 41 | + format.json { pager_json("events/_events", @events.count) } |
| 42 | format.atom { render layout: false } | 42 | format.atom { render layout: false } |
| 43 | end | 43 | end |
| 44 | end | 44 | end |
app/controllers/projects/commits_controller.rb
| @@ -16,7 +16,7 @@ class Projects::CommitsController < Projects::ApplicationController | @@ -16,7 +16,7 @@ class Projects::CommitsController < Projects::ApplicationController | ||
| 16 | 16 | ||
| 17 | respond_to do |format| | 17 | respond_to do |format| |
| 18 | format.html # index.html.erb | 18 | format.html # index.html.erb |
| 19 | - format.js | 19 | + format.json { pager_json("projects/commits/_commits", @commits.size) } |
| 20 | format.atom { render layout: false } | 20 | format.atom { render layout: false } |
| 21 | end | 21 | end |
| 22 | end | 22 | end |
app/controllers/projects_controller.rb
| @@ -73,7 +73,7 @@ class ProjectsController < ApplicationController | @@ -73,7 +73,7 @@ class ProjectsController < ApplicationController | ||
| 73 | render :show, layout: user_layout | 73 | render :show, layout: user_layout |
| 74 | end | 74 | end |
| 75 | end | 75 | end |
| 76 | - format.js | 76 | + format.json { pager_json("events/_events", @events.count) } |
| 77 | end | 77 | end |
| 78 | end | 78 | end |
| 79 | 79 |
app/views/dashboard/show.js.haml
| @@ -0,0 +1 @@ | @@ -0,0 +1 @@ | ||
| 1 | += render @events |
app/views/groups/show.js.haml
app/views/projects/commits/show.js.haml
app/views/projects/show.js.haml