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

Add toggle to only show entries that are NOT in this group #9073

Closed
1 task
ThiloteE opened this issue Aug 20, 2022 · 6 comments · Fixed by #11510
Closed
1 task

Add toggle to only show entries that are NOT in this group #9073

ThiloteE opened this issue Aug 20, 2022 · 6 comments · Fixed by #11510

Comments

@ThiloteE
Copy link
Member

ThiloteE commented Aug 20, 2022

@ThiloteE
Copy link
Member Author

ThiloteE commented Aug 20, 2022

In addition to its inherent use, adding a toggle to show entries that are not in this group would be a workaround to add "floating mode" like capabilities (tracked in #4237). Albeit less smooth looking of a solution, adding a toggle avoids adding various colours to the entry table (refs. #8963), which would be necessary to distinguish between entries that have been found using search:

  • entries with high search score
  • entries with low search score
  • entries that are part of this group
  • entries that are not part of this group

Adding many colours comes at the added cost of

  • maintaining compatibility with light/dark mode
  • can look ugly
  • creating problems for people having problems distinguishing colours
  • Even though there are different colours, it may not be intuitive to users what all these various colours mean

@ryan-carpenter
Copy link

ryan-carpenter commented Aug 27, 2022

This issue is also related to #7871. I love regex solutions, but here are some ideas for mouse-driven boolean logic: (sorry, no graphics or videos)

  1. Three-way Toggle intersection between union (OR), intersection (AND), and
  • exclusion (XOR), or possibly
  • inversion (NOR)
    … changing only the icon.
  1. Difference tool, like Inkscape or illustrator https://inkscape-manuals.readthedocs.io/en/latest/boolean-operations.html, where the last shape (group) selected is the one subtracted (or optionally, the first shape selected).

Possible JabRef approach:

  • Click group A -> Shift+click group D -> entry table shows A–D (current situation)
  • With A–D selected, click the difference tool -> entry table shows (A–C NOT D).
  • Click the difference tool again-> entry table switches to (D NOT A–C)
  1. More about the per-group NOT toggle (this issue, Add toggle to only show entries that are NOT in this group #9073)
    The Citavi screenshots in Issues with search and groups and associated feature request (floating mode) #4237 show the filter menu but not the hidden, unintuitive, cumbersome, yet very useful invert arrows. ON-OFF sliders next to each JabRef group would be immensely simpler to use.

1778_OGR-FMS_Reference_Editor_-Cloud_project-_Citavi_2022-08-27

@Rupesh-Lal
Copy link

Hi @ThiloteE , I tried adding a button for negation function. The button is displayed properly and tooltip is also working fine but I am not able to add functionality properly. Can you help me like what files I need to modify to add functionality or what is the flow from where the keyword we give on search bar is doing match with the entries.

@ThiloteE
Copy link
Member Author

Hello @Rupesh-Lal, unfortunately I don't know. View me more to be a community manager than being a coder.
I would suggest to open a pull-request so that the maintainers that are good at coding can have a look at it.
By now, there is also

which will bring huge changes to JabRef's search feature.
So, I hope there will not be any merge conflicts.

@koppor
Copy link
Member

koppor commented Aug 5, 2024

In the latest build, it is implemented relatively straight forward: The floating mode is readded. All entries in a group have a white background, the entries not in a group a darker one.

@LoayGhreeb
Copy link
Collaborator

The floating mode is readded. All entries in a group have a white background, the entries not in a group a darker one.

Even in filtering mode (with search and group filter toggles enabled), the "invert groups" toggle will apply, making entries not matching the selected group appear with a white background.

This toggle also works with multiple group selections, depending on whether the view mode is set to union or intersection:

  • Multiple group selection, Union mode (without invert): Shows entries that match ANY of the selected groups $A \lor B$.
  • Multiple group selection, Intersection mode (without invert): Shows entries that match ALL of the selected groups $A \land B$.
  • Single group selection with invert: Shows all entries EXCEPT those in the selected group $\neg A$.
  • Multiple group selection, Union mode (with invert): Shows entries that are not in ANY of the selected groups $\neg (A \lor B)$ --> (NOR).
  • Multiple group selection, Intersection mode (with invert): Shows entries that are not in ALL of the selected groups $\neg (A \land B)$ --> (NAND).

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

Successfully merging a pull request may close this issue.

5 participants