- fix the issue of focus not landing on search field of the notes
pane when it is opened on tab from the reader
- shift-tab from the sidenav when notes pane is opened will focus
the search input as well, instead of the last focusable
node in the pane
- tab from a note-row in the list of notes will focus the sidenav
- shift-tab from a note-row will focus the header of the collapsible-section
of the row
Per https://github.com/zotero/zotero/pull/4235#issuecomment-2472397642
Fix the glitch where having anyField search condition
along with any other condition would return an empty
result set if joinMode="any".
This would happen due to a conflict between conditions
caused by wrapping "anyField" condition set into a quickSearch
block, which enforces "AND" operator between conditions.
Fixes: #4830
This may help with the issue of locator popup sometimes
not being properly rendered.
Also, it allows the popup to have a proper width on
windows when "Always show scrollbar" setting is on.
Addresses: #4814
Addresses: #4805
And:
- Rework a few ZP functions to take items arrays instead of always
acting on selected items
- Move string to Fluent
- Build entire Add to Collection menu programmatically
- Section buttons, Locate, and Notes in the sidenav are focusable
- itemPane section buttons are combined into one focusable
group. Those buttons by themselves don't mean anything in
the context of keyboard navigation as they just scroll
to the section in the itemPane. In fact, having info,
abstract, attachments, etc. focusable and announceable by
screen readers is just confusing. However, we do want the group
of those buttons to be focusable to switch back to
zotero-context-pane-item-deck from zotero-context-pane-notes-deck
if the notes button in the sidenav is pressed.
- sidenav can be reached by tabbing into it from the end of itemPane
or via shift-tab from the focused tab
- sidenav buttons can be navigated with up/down arrows
- notes list in the context pane can be activated via the button in the
sidenav and navigated via up/down arrows
- use command vs onclick listener for notes list context menus to work
with keyboard-triggered clicks as well
- focus itemPane when tabs are switched in sidenav
Do not try to re-select a previously selected item
if it was filtered out from itemTree, e.g. after
it was removed from currently selected collection.
Otherwise, quick search gets cleared in an attempt to
re-select the item.
Fixes: #4616
Unify plugin API classes
Add info box custom row API tests
Refactor itemBox.js create element
Wrap hooks in API for safe call
Add test for item tree api and hook error handling
Remove try/catch from #4816
Move plugin API definitions to xpcom/pluginAPI
If you unlinked your sync account and then relinked, the ZFS storage
controller would still have the old API key and file-sync requests would
fail. Since that was never supposed to be possible, it resulted in
"Group with libraryID 1 does not exist" errors during file syncing until
you restarted the app.
Move handling of tabs' renaming when an item is
modified from Reader into Zotero_Tabs, so that the titles of
unloaded tabs can get properly renamed.
Have the Reader and Zotero_Tabs share Zotero.Item#getTabTitle()
to handle title updates in both tabs and standalone reader windows.
Fixes: #4646
When items are selected, itemTree scrolls to them. Depending on the
arrangement of items, it will often default to scrolling to
the top-most item in the selection, which is not the focused row
in case of duplicates view. To scroll to focused row without
unnecessary scrolling or items visibly jumping to one row and then
another, added option to skip scrolling in itemTree.selectItems.
Only move focus out of the reader iframe on tab/shift-tab
if the reader instance is opened within a tab, meaning the
sync button and the contextPane exist. If the reader
is opened in a standalone window, do nothing.
Fixes: #4823
LightweightThemeConsumer interacts with the color scheme,
so disabling it prevents the color scheme from changing
whenever zoteroPrint runs.
Fixes: #4782
This seems to be a Firefox bug that exists even in Firefox 132.0a1 (2024-09-29).
Note that right-clicking to open the context menu on a contenteditable element also triggers an update to the Edit menu.
The fix updates all Edit menu options except Redo, which cannot be enabled due to ProseMirror modifying the contenteditable state after each change.
Partial fix for #3398