Today I have been messing around with a search functionality which influence the data displayed in a repeater group. I have managed to get the Pagination working on the initial results set, but cannot work out how to detect a change in the results set initiated by say a dropdown box changing its option value which changes the contents of the results set.
I need to detect this change to reset the states of an object to set the new Pagination limits.
I have tried a couple of things;
using the repeating group count to change the value in an input field, and then use an event that monitors for the input value changing. - This doesn’t appear to trigger when the input value is changed programatically.
If have tried looking at the isLoading state of the Repeating group - but no joy with that route.
Rather than drive the list from the Repeating Group, if you use a Workflow on “when Dropdown’s Value has changed” you can send the data (Using “Display List”) to the Repeating Group and sort the pagination at the same time.
The dropdown value is used in several place and as a result of this I have it living in the Header.
There is also other criteria that is required which is derived from the page itself.
I have managed to find a work around which appears to be working. it involves the use of a watchdog to detect a change to the results count, by comparing it to a previous watchdog call to store the current count out to a state value. A separate watchdog event compares the two watchdog states and updates the pagination limits and returns current page to 1 on detection of a results set change.
Whether is scales or not is another matter…but for the time being it works and allows me to progress with some other functionality until I look at refinement later if required.