-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TVB-2757: Apply filters on linked datatypes at runtime by rerendering the form #351
base: master
Are you sure you want to change the base?
Conversation
I solved the two issues I described above, but I found two new ones regarding the surface/region mapping viewers. The second issue is that in the surface viewer we should filter the connectivity measures based on the chosen region mapping. The region_mapping_index.fk_connectivity_gid and connectivity_measure_index.fk_connectivity_gid connectivities should have the the same number of regions. Currently my solution does not cover this case, because there is no connectivity field in the UI of that page, so I need to extend it a little to cover this case as well. (A simple but probably ugly solution would be to keep a hidden connectivity field on that page) |
… by replacing the whole form.
… runtime) and made it possible to apply them at the same time
…g the user defined filters + add runtime filters for Surface Viewer, RM Viewer and TSVolume Viewer
134d9a0
to
cc87b1c
Compare
There is one situation I haven't added filters but I could have and that is for structuring MRIs. There are some Region Volume Mappings and Time Series Volumes that don't go with certain Structural MRIs and I wanted to filter them to match the fk_volume_gid, but I personally have no data that would fulfill that criteria so I chose to just let it be. Maybe we can do some filtering based on some other data, but that would just complicate even more the solution for this task. |
At the beginning we thought this method might be simpler than what I did on the other PR of this task, but now I am not so sure about that. I think that at least the code is easier to understand.
I chose to separate the 3 types of filters (default, user defined and runtime filters) in 3 dictionaries because they need to be handled differently:
Anothe problem was that after you rerender the form, the most recently added datatypes will appear to be the selected values by default, so I needed to keep the values before applying the filters to reput them after the form is rerendered.
I have two bugs (aspects I still have to take care of) currently: