Listview pagination unexpected behavior

I have a "browse" feature for an online directory which uses a faceted menu (using solr) and displays the results with a ListView widget. The facet menu can be three or more levels deep, and I am storing the facet choices to session after each selection. The menu and listview widget are all contained in one set of pjax tags. The problem I have is with the listview pagination. I do the following:

  1. select a facet parameter (call it A1) - the listview updates correctly

  2. select a different parameter (A2) - the listview updates correctly

  3. Select page 2 of the pager - The listview and facet selection show the results from step 1 (i.e. $_SESSION reverts back to the previous values)

I can get similar results by switching the order around. I’ve commented everything out on the page (including the pjax tags) except one facet choice and the listview to isolate the problem, but it remains.

Update: If I follow the steps above and then reload the browser window, the listview and facet selection updates to show the correct values (i.e. the latest facet choice and page 2 of the listview - the expected result of step 3).

I figured out the issue. The listview widget grabs the current url and appends


&page=2&per-page=10

on the end. My problem is that the old parameters list is also included in the url and it toggles the facet selection unexpectedly.

Is there any way to reset the url for the listview pagination? I’m not seeing anything in the API. Otherwise I have to deal with it in the controller, and that’s not terribly straight-forward. Surely others have dealt with this before. I want to pass


&constraint=NULL&cat=NULL&page=2&per-page=10

back to the controller.