Fix offset not in array if on last page and filter is applied. #8829
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey,
This PR addresses the issue described in Mantis Bug Tracker https://mantis.ilias.de/view.php?id=42959.
During debugging, it became clear that the problem was not limited to a specific table implementation, but affected all table implementations. Here’s a scenario to illustrate the problem:
If a table has multiple pages and the user navigates to the last page, applying a filter that reduces the total number of displayed pages by at least one will trigger the issue.
The root cause lies in how the data table range is cropped—this happens too late in the execution flow. To address this issue, the PR introduces two adjustments:
findCurrentPage
method now defaults to0
instead of throwing aLogicException
if no valid range is defined for the given offset.croppedTo
method returned a zero-length range, which seemed counterintuitive. This is adjusted so that the method now returns to the interval of 0 to smaller user selection or standard configuration.These changes are directed to resolve the data tables as a whole.
Looking forward to your feedback and comments.
Best
@thojou