Open
Conversation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Changes in this pull request
Resolves #3163
Additional info
This pull request refactors how the Select Option tree is refreshed and reloaded throughout the UI. The main change is replacing direct query refetching with Redux tag invalidation, which better integrates with the application's state management and cache system. Several callbacks and prop types are updated to reflect this new approach, and related code is simplified to remove unnecessary async/await usage.
Tree reload and refresh logic refactor:
refetchmethod to dispatching a Redux action that invalidates the relevant cache tags, usingdispatch(api.util.invalidateTags(invalidatingTags.SELECT_OPTION_COLLECTION()))inselect-option-widget.tsx. This ensures a more consistent and scalable cache update strategy.onReloadTreeprop type intree-container.tsxfrom() => Promise<void>to() => void, and removed allasync/awaitusage associated with tree reloading, simplifying the code and aligning with the new invalidation-based approach. [1] [2] [3] [4]Dependency and hook updates:
api,invalidatingTags, anduseAppDispatchinselect-option-widget.tsxto support the new Redux-based invalidation logic.refetchvariable from the query hook inselect-option-widget.tsx.Select Option refresh button behavior:
select-option-form.tsxto fetch the latest option data from the backend and update the local state and form values only if new data is available, improving data consistency.