Filter out ASCII control characters in renderItemTitle, since
an error is thrown if those characters are present when
the innerHTML of a tab name in tab bar is set via
dangerouslySetInnerHTML.
Fixes: #4758
---------
Co-authored-by: Dan Stillman <dstillman@zotero.org>
Set focusring on the child hbox, instead of the actual tab.
The hbox is the element with visibly rounded corners,
so this way the focus-ring will have the right shape.
Fixes: #4744
They cause problems with our import script (I think because they're
processed first, so the non-term placeholder isn't yet available) and
aren't really necessary.
- Added menuitems to move collections within the same
library and to copy collections
- "Move to" only displays collections within the
current library
- "Copy to" displays all libraries, if more than
one library exists. If there is only one library,
top-level collections from "My Library" are displayed.
- while copying within the same library, create copies
of all collections and add items into them, without
actually duplicating items
- while copying between different libraries, items
will be duplicated, the same way it is done when
collections are dragged and dropped in another library
Remove logic constructing a11y announcements from reader.ftl.
Instead, reader will fetch and put together components as needed on the fly.
Follow-up to cde21ac9f2
per https://github.com/zotero/zotero/pull/4752#discussion_r1800481917
Also, add { general-key-command } and { general-key-alt } and add a reader
string that uses those on macOS and non-macOS for textual annotation
instructions. On macOS, the end of highlight and underline annotations is
resized via Shift+Command+arrows, which is different from the Option
modifier used in all other instances
(per https://github.com/zotero/reader/pull/138#issuecomment-2373775068)
Finally, tweak aria-description of "Find in Document" as it sounded
as if Control+Option/Alt+1 would create either highlight or underline
annotation.
Do not move focus from the tab onto the editor/input
during keyboard navigation to not change context per
https://www.w3.org/WAI/WCAG21/Understanding/on-input.
Focus will still shift if tab selection changed on mouse click.
Also:
- added focus ring to tabs. Additional mouseup handling
to prevent the focus ring from briefly appearing on click.
- on Escape from within the editor, focus the current
tab.
- on shift-tab from the beginning of the editor,
tab out of the editor to previous element.
- added "Change Parent Item…" context menu option to
itemTree as a non-drag-drop alternative to changing the
parent of attachments or notes
- context menu option appears only when all selected
items are notes or attachments
- upon activation, a dialog to select the new parent
will appear. Added a tweak to the dialog to disable
the "accept" button if a selected item is not top level
- minor edit to itemTree to set the multiselect property
based on a prop, since we do not want to have multiselect
enabled in this instance
- hide all virtual collections in selectItemsDialog via new
io.hideCollections parameter
- "Convert to Standalone Attachment" button in dialog if
child attachment is selected
And:
- Use eslint instead of teslint
- Remove debug logging, since we're running this constantly now
- Kill ESLint at the end, although it should exit on its own
Includes API changes in Zotero.Translators in order to support
in-memory translator serialization.
Type changes in docstrings are corrections, not actual changes.
Apparently _error() does get called!
detect* methods were already logging syntax errors as expected.
TranslationChild handles errors in detect* and do* identically. Odd.