Simplified automatic pagination
This commit is contained in:
parent
244a0a8fce
commit
e712c99138
@ -11,6 +11,7 @@
|
||||
# about supported directives.
|
||||
#
|
||||
#= require jquery3
|
||||
#= require jquery_ujs
|
||||
#= require jquery-sparkline
|
||||
# For tags input
|
||||
#= require jquery-ui/widgets/autocomplete
|
||||
|
@ -1,28 +1,15 @@
|
||||
# Automatic ajax pagination
|
||||
|
||||
# To not setup pagination twice
|
||||
pager = true
|
||||
$(document).on 'turbolinks:load', ->
|
||||
$('.pagination .next a')
|
||||
.attr('data-remote', true)
|
||||
.click ->
|
||||
$('#loading').fadeIn()
|
||||
$('.pagination .next a').attr('data-remote', true).each ->
|
||||
# Go to the next page when page is scrolled
|
||||
$(document).scroll =>
|
||||
if $(this).visible true, true
|
||||
# "Next" link is also hidden while pagination is done
|
||||
$(this).click().parents('.pagination').hide()
|
||||
|
||||
if pager
|
||||
pager = false
|
||||
$(document).on 'ajax:success', '.pagination .next a', (event, data, status, xhr) ->
|
||||
$('#loading').fadeOut()
|
||||
elts = $('tbody tr', data)
|
||||
$(this).parents('tfoot').prev().append(elts)
|
||||
$(document).on 'ajax:success', '.pagination .next a', (event, data) ->
|
||||
$(this).parents('tfoot').prev().append $('tbody tr', data)
|
||||
|
||||
next = $('.pagination .next a', data).attr('href')
|
||||
if next?
|
||||
return $(this).show().data('remote', true).attr('href', next)
|
||||
else
|
||||
return $(this).parents('.pagination').remove()
|
||||
|
||||
# Go to the next page when page is scrolled
|
||||
$(document).scroll ->
|
||||
$('.pagination .next a:visible').filter =>
|
||||
this.visible()
|
||||
.hide().click() # "Next" link is hidden while pagination is done
|
||||
next = $('.pagination .next a', data).attr 'href'
|
||||
if next?
|
||||
$(this).attr('href', next).parents('.pagination').show()
|
||||
|
Loading…
Reference in New Issue
Block a user