Mottie/tablesorter

"pagerComplete" event does not get executed if filters are unchanged

larsbonczek opened this issue · 3 comments

When I press enter inside a filter input, the search gets executed even if the filters have not changed.

See here

// immediate search if user presses enter

and here (filter === false here because the event type was 'keypress')
if ( tsf.equalFilters(c, c.lastSearch, currentFilters) && filter !== false ) {
return;

The "filterStart" event gets fired here

c.$table.triggerHandler( 'filterStart', [ filters ] );

but the "pagerComplete" event never gets fired for some reason: (The false means that the "pagerComplete" event shouldn't be fired - but why?)
tsp.updatePageDisplay( c, false );

This causes my loading animation to be displayed on "filterStart", but never to get removed.

EDIT It wasn't the "filterEnd" event that didn't get fired as I first thought but the "pagerComplete" event.

Hi @larsbonczek!

Thanks for investigating this problem! I apologize for not responding sooner. I would greatly appreciate a PR with a fix. Maybe prevent setting the filter to false if the last key was an enter? That way line 1366 would stop the flow.

Is it okay if I submit a pull request without having really tested it? I still have my solution from a month ago somewhere, but I don't have time to go back and test it again right now.

Thanks again!