fixes #756: don't make the odata request when route is being changed #1042
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.
Closes central#756
What has been done to verify that this works as intended?
Added couple of tests, also manually verified that issue is fixed.
Why is this the best possible solution? Were any other approaches considered?
Root cause: when user clicks on another page link, query parameter changes, which causes odataFilter watcher in SubmissionList component to send another odata request.
If a route is being changed, hence component is being unmounted then that component should not make a new (update) request.
Another approach was to add null check for
_abortController
inresource.js:cancelRequest()
, which felt like hacky to me. or If_store
is being shared like in this case, maybe we can share the_abortController
as well; I am not fully certain about its implications though.How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
Any page that have filters like Entities data and System audit should be tested as well for regressions.
Does this change require updates to user documentation? If so, please file an issue here and include the link below.
NA
Before submitting this PR, please make sure you have:
npm run test
andnpm run lint
and confirmed all checks still pass OR confirm CircleCI build passes