[ ] Reviewed feedback from the "Sonar Cloud" bot. Note that you have to wait
for the "CI / Unit Tests") to complete first. Failed Unit tests can be
debugged by adding the label "verbose logging" to the GitHub PR.
Description of the Change
When searching All Graphs, the lists of results were resetting comparing the number of graphs open to the number of graphs with search results. Hence when there were graphs without matching results, the results lists were not resetting correctly, causing the Find All, Find Next and Find Previous buttons to appear stuck on certain graphs.
Due to the same reason, the changes to existing graphs didn't reflect in the search results. E.g. If you delete a single node with a matching search criteria, it was still traversing when search buttons were pressed.
Removed the ResetStatePlugin which wasn't working consistently and added the resetting functionality in the FindViewController. Now the search results are updated promptly as the graphs are changed and closed.
Find All button is now traversed similar to the Find next button, not the Find previous button. (That direction changes time to time, maybe something to fix?)
Alternate Designs
Using ResetStatePlugin didn't work consistently, because sometimes the graph was already closed by the time the Plugin was run.
Why Should This Be In Core?
Bug fix
Benefits
Better UX
Possible Drawbacks
Verification Process
Follow the steps in #2118 to test with 2 graphs.
Add 2 more graphs with results (Easy with copying (Ctrl+U) the search results into new graphs)
Observe the traversing when Find All, Find Next and Find Previous buttons are clicked, in Basic Find and advanced Find tabs.
Observe the results update (The Results Found count updates) correctly when changing the graphs and deleting graphs.
E.g. Create a graph with a single node with the matching search criteria, see the count increase by 1 when any search button is clicked. When you delete that node, verify the Results Found decrease and that graph is no longer traversing when search buttons are clicked.
Prerequisites
[x] Reviewed the checklist
[ ] Reviewed feedback from the "Sonar Cloud" bot. Note that you have to wait for the "CI / Unit Tests") to complete first. Failed Unit tests can be debugged by adding the label "verbose logging" to the GitHub PR.
Description of the Change
When searching All Graphs, the lists of results were resetting comparing the number of graphs open to the number of graphs with search results. Hence when there were graphs without matching results, the results lists were not resetting correctly, causing the Find All, Find Next and Find Previous buttons to appear stuck on certain graphs.
Due to the same reason, the changes to existing graphs didn't reflect in the search results. E.g. If you delete a single node with a matching search criteria, it was still traversing when search buttons were pressed.
Removed the
ResetStatePlugin
which wasn't working consistently and added the resetting functionality in theFindViewController
. Now the search results are updated promptly as the graphs are changed and closed.Find All button is now traversed similar to the Find next button, not the Find previous button. (That direction changes time to time, maybe something to fix?)
Alternate Designs
Using
ResetStatePlugin
didn't work consistently, because sometimes the graph was already closed by the time the Plugin was run.Why Should This Be In Core?
Bug fix
Benefits
Better UX
Possible Drawbacks
Verification Process
Results Found
count updates) correctly when changing the graphs and deleting graphs. E.g. Create a graph with a single node with the matching search criteria, see the count increase by 1 when any search button is clicked. When you delete that node, verify theResults Found
decrease and that graph is no longer traversing when search buttons are clicked.Applicable Issues
https://github.com/constellation-app/constellation/issues/2118