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