-
Notifications
You must be signed in to change notification settings - Fork 22
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
Allow negation & combinations of filters #251
Comments
This is really exactly what the Javascript custom filters and metafilters are for. There are infinitely many possible ways to combine filters, so I think it would require a really complex set of UI features to cover all of the possibilities. That doesn't seem worthwhile when Javascript can already do everything you're describing, and pretty easily. For example, to say "Limit it to Favorites, but also limit it to whatever other filter I select", you'd create a Favorites metafilter that limits the selection to favorites. Since a metafilter is in effect in addition to the current regular filter selected in the UI, this has the effect you want of selecting "favorite AND era", say. Likewise, if you want to create a negating filter for a specific regular filter, you'd create a custom filter that selects all games that don't match the regular filter. If you want to create a global negating filter that negates whatever regular filter is currently selected, you could do that with another metafilter, in this case one that selects everything the current regular filter rejects. Perhaps some worked examples for these specific possibilities would help? I don't mean to reject the idea of combining filters at the UI level out of hand, it's just that I can't easily picture a UI that doesn't quickly start looking like an Object Relational Modeling tool that becomes awfully bewildering. People have tried to build visual programming tools like this for years and years, but it seems to me there's a reason that the successful programming systems are all textual. Javascript seems like a more compact and comprehensible expression of this sort of thing. |
I have implemented a few filters for my own purposes already, so I'm familiar with the API. Not particularly for the meta filters, but I understand the concept.
Sure, I dont think it's reasonable to overload the menus with a complex way to combine filters. I'm not sure if this (showing the selected combination in the menu / status line) is possible when using a custom meta filter. So, I could implement it for myself... |
So, this just always happens with Favorites? What if someone then DOESN'T want it to combine? What if someone wants the Era filter to be combining, but not Favorites? This is why I think javascript is the right answer for this kind of personalization. If it were done through menus, there'd have to be exposed options for all of these different possibilities, and they'd have to apply to every filter. Every filter would need its own submenu - "Combine Filter", "Don't Combine Filter", "Negate Filter With Combining", "Negate Filter Without Combining", "Allow Three-Way Combing", "Don't Allow Three-Way Combining Except With Filters That Also Don't Allow It", "Combine Filter Without Negation But Don't Not Negate The Other One"... There'd never be enough to cover everything, the menu would keep growing, and no one would be able to find the one little simple thing they're looking for. With a little javascript customization, on the other hand, you can add just the options that make sense to you, without massively expanding the UI. You can just take over the Favorites filter menu item and make it select your combining version of the filter instead of the standard one.
It doesn't happen automatically just because a metafilter was created, but you have complete control over the status line from js, so you can include a status line customization as part of the filter setup.
|
OK, I see what you mean. And thanks for giving me a clear answer. |
It would be great if PinballY could change the behaviour of the 'Favourite' filter so that it can be combined with the other filters.
This would allow for example to show the favourites but filtered for an era (90s tables).
Or the favourites filtered for a company.
In an even more general way, PinballY could also support 'and' combining 2 arbitrary filters. (Era & Company, etc..)
In addition, it would be great if a filter (or at least the favourites) could be negated: Show all tables except the favourites.
I know that PinballY can be scripted. But it makes a huge difference if this is a native capability.
The text was updated successfully, but these errors were encountered: