Skip to content
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

Individual filterer disable/reenable in filters panel. #2163

Draft
wants to merge 60 commits into
base: master
Choose a base branch
from

Conversation

lfcnassif
Copy link
Member

This will close #39 again when finished. There are more fixes to come, so this is just a draft.

@lfcnassif
Copy link
Member Author

@patrickdalla, I would appreciate if you could take a look if last commit is ok, thanks in advance.

@lfcnassif
Copy link
Member Author

Just found another issue in the combined filter, a video illustrating it is inside zip below, produced before commits above:
combined filter issue.zip

I'll wait until @patrickdalla returns from vacation, so he can take a look. I'll focus on other 4.2.0 pending enhancements.

@lfcnassif lfcnassif mentioned this pull request Apr 18, 2024
@patrickdalla
Copy link
Collaborator

patrickdalla commented Apr 18, 2024

Did you create a new Branch with these modifications?

@lfcnassif
Copy link
Member Author

Yes, its name is at the top of this PR page.

@patrickdalla
Copy link
Collaborator

I have noticed you refactored the cachedBitSet map to have FilterNode as its key. Although it is an alternative, it stores in memory redundant copies of same filter bitmaps used in different nodes of the logic.

I had already implemented a solution to the problem with the old MAP specification before noticing this PR (not the node), do you mind if I roll back this? Does this modification address any other issue beyond duplicate filter node removal?

@lfcnassif
Copy link
Member Author

do you mind if I roll back this?

No problem, just revert my last 3 commits and apply yours after reverting them, maybe you can keep 02c580f.

Does this modification address any other issue beyond duplicate filter node removal?

Yes, the first commit fixes an unrelated NPE, please keep it. I also uploaded a zipped video here showing another issue I didn't try to fix.

correspondent CombinedFilterTreeModel where it is created, so it can
update the map of Filters with corresponding nodes set when removing or
adding one of its children.
structure Map<IFilter, FutureBitSetResult>, as the remove of an item in
this cache now only occurs when no other FilterNode refers to the same
filter.
they can be cloned when dragging with CTRL button pressed (COPY
operation).
@patrickdalla
Copy link
Collaborator

I think the pointed issues are solved. I have also recovered the functionality that was lost of MOVING and COPYING filterNodes from CombinedFilterer to other Operand Nodes inside the CombinedFilter.

Please, double check.

@lfcnassif
Copy link
Member Author

Hi @patrickdalla, thank you very much for your fixes and improvements here. Since you are working on the FilterManager, I would like to ask you what do you think about making it possible to re-enable last filters from the FilterManager. Do you think it would be straightforward to code? I think it would make sense to let users enable filters from the filter manager, not just disabling them (and combining them of course). I think propagating filters state to their original panel would be more complex and could be left as another future improvement.

@patrickdalla
Copy link
Collaborator

Hi @patrickdalla, thank you very much for your fixes and improvements here. Since you are working on the FilterManager, I would like to ask you what do you think about making it possible to re-enable last filters from the FilterManager. Do you think it would be straightforward to code? I think it would make sense to let users enable filters from the filter manager, not just disabling them (and combining them of course). I think propagating filters state to their original panel would be more complex and could be left as another future improvement.

You mean reenable in the check box, keeping the checkbox unchecked so it can be reenabled by checking it again, right?

@lfcnassif
Copy link
Member Author

You mean reenable in the check box, keeping the checkbox unchecked so it can be reenabled by checking it again, right?

Exactly!

without removing its defined filters, which are restored when checkbox
is checked again.
@patrickdalla
Copy link
Collaborator

I final opinion request on the checkbox filterer enabler, @lfcnassif: When it is disabled, the corresponding tab red color should turn gray, right?

@lfcnassif
Copy link
Member Author

@lfcnassif: When it is disabled, the corresponding tab red color should turn gray, right?

Yes, I think it was already working this way.

@patrickdalla
Copy link
Collaborator

patrickdalla commented Apr 20, 2024 via email

@patrickdalla
Copy link
Collaborator

Hi @lfcnassif, I've implemented the method to restore old filters from unselected filterers from Filters Panel for all filterers but Graph.

@lfcnassif
Copy link
Member Author

Thanks @patrickdalla! @marcus6n, I also would like your help to test this after testing #1341, ok?

@marcus6n
Copy link
Contributor

Thanks @patrickdalla! @marcus6n, I also would like your help to test this after testing #1341, ok?

Ok, I'll test it here.

@marcus6n
Copy link
Contributor

@lfcnassif I've run the tests and everything works correctly with the filters, with apparently no errors or bugs.

@lfcnassif
Copy link
Member Author

Hi @patrickdalla. On Monday, could you copy just the fixing commits from this PR to a new one, excluding the re-enable filters new feature?

@patrickdalla
Copy link
Collaborator

Sure @lfcnassif.

@patrickdalla patrickdalla changed the title Minor #39 fixes Individual filterer disable/reenable in filters panel. Jul 1, 2024
@patrickdalla
Copy link
Collaborator

patrickdalla commented Jul 1, 2024

As asked by @lfcnassif, I copied the fixes to PR #2256 and renamed this to "Individual filterer disable/reenable in filters panel". It includes the latter changes done to support filter state restoration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Filter Manager
3 participants