Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support for multiple synced paginators #45

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alessandroarantes
Copy link

just changed 2 lines to the pagination.js source:

  • line 108 becomes:
    var el = $(".paginationjs").length > 0 ? $(".paginationjs") : $('

    ');

  • line 643 becomes:
    var el = $(".paginationjs");

with those changes, it's possible to have multiple paginators on the page by setting multiple DIVs with a given class in the HTML and then using the jQuery locator for the class in the script.

example:

HTML:

JS:
$('#pagination-container').pagination({
dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 195],
callback: function(data, pagination) {
// template method of yourself
var html = template(data);
$('#data-container').html(html);
}
})

@SLGShark6
Copy link

Also the "container" variable used in the "observer" function of the pagination object, to wire up "container.on('event')" events that are triggered through normal use, such as the "go" event. This causes data to be rendered more than once depending on how many pagination instances are being used in the DOM.

So to mitigate this i declared "var eventContainer = $(container[0]);" to get only the first instance and replace every wire that uses container in the function with it so it only fires once. E.g. "eventContainer.on(eventPrefix + 'next', function(event, done) {
self.next(done);
});"
As well replaced the "container.trigger"s with "eventContainer.trigger".

This starts around line 646.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants