Commit graph

10201 commits

Author SHA1 Message Date
windingwind
aec6e61cb3 Add ItemPaneManager.registerInfoRow API
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
2024-11-11 11:27:47 -05:00
windingwind
347caaff4c Rename itemBox > infoBox
Following the discussion in #4114
2024-11-11 11:27:47 -05:00
windingwind
28e3c7b47f Fix notifier.js eslint errors 2024-11-11 11:27:47 -05:00
Dan Stillman
4ca3843ce7 Prevent auth failures for Zotero Storage requests after relinking
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.
2024-11-08 03:19:41 -05:00
abaevbog
e9a19cb7a1
Update tab titles independently of the reader (#4813)
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
2024-11-08 02:01:43 -05:00
Abe Jellinek
9f8c5c8581
Add support for importing KOReader & Calibre annotations (#4780) 2024-11-08 01:16:10 -05:00
abaevbog
d3456b050a
Allow quicksearch to stretch when there is space in the middle pane (#4828)
Per https://forums.zotero.org/discussion/119312/search-window-in-zotero-7-is-too-small

Also, have spinner always occupy space, so that it does not
push quickSearch out of the bounds of the middle pane
when it is very narrow. Respectively,
make min-width of quicksearch a bit smaller.
2024-11-08 00:56:16 -05:00
abaevbog
5b2e666f4f
scroll to pivot row on arrowUp/Down in duplicates (#4822)
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.
2024-11-08 00:13:57 -05:00
abaevbog
bc62bbfdda
do not handle tab out of reader iframe in window (#4824)
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
2024-11-08 00:13:36 -05:00
abaevbog
e2905b22ad
arrowUp/down in duplicates view will select the set (#4800)
When duplicates collectionTreeRow is selected, arrowUp/down within
itemTree will select the entire previous/next set of duplicate items.

Per discussion based on https://forums.zotero.org/discussion/119217/bug-zotero-7-beta-duplicates-collection-navigation-via-arrow-keys
2024-11-06 23:08:16 -05:00
Abe Jellinek
682cceca2d Pass imported-URL attachment URL to reader (#4820) 2024-11-06 23:02:50 -05:00
Abe Jellinek
7f26f246e7 ZoteroPrintChild: Forward zoteroPrint() options (#4820) 2024-11-06 23:02:43 -05:00
Abe Jellinek
67505f3960 Don't show '0000' on invalid date in reader title
Same logic used for attachment renaming and the item tree Year column.

Fixes #4817
2024-11-06 13:54:03 -05:00
abaevbog
bd8cae6fdd
qf: show recently modified notes when empty input (#4797)
Fixes: #4771
2024-11-06 08:38:05 -05:00
Abe Jellinek
17f003df0f
Item box: Wrap all fields (#4802) 2024-11-06 08:37:38 -05:00
windingwind
51f2c76d82 Ensure custom column renderCell returns element 2024-11-06 07:23:53 -05:00
windingwind
0db1bae009 Fix item tree custom dataProvider break interface 2024-11-06 07:23:53 -05:00
Martynas Bagdonas
30024487f3 Work around contenteditable not updating Edit menu in reader and notes
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
2024-10-31 11:12:03 +00:00
Martynas Bagdonas
7c8e672f2f Enable text actions context menu across all note-editor text inputs 2024-10-31 11:09:04 +00:00
Martynas Bagdonas
e202924324 Add File, Edit and Window menus to note editor window 2024-10-31 11:06:29 +00:00
Martynas Bagdonas
d9c2abd701 Enable text actions context menu across all reader text fields
Fixes #3676
2024-10-29 10:54:48 +00:00
windingwind
364e87a57f
Pass document to ItemTree API renderCell (#4790) 2024-10-29 06:46:00 -04:00
abaevbog
00b2978c8b
centerscreen " My Publications" dialog (#4795)
Fixes: #4788
2024-10-29 03:57:51 -04:00
Dan Stillman
bb7a7ab961 Match annotation text and comments in All Fields & Tags mode
I think this was only in Everything for historical reasons -- in the
initial implementation of search modes, tags, notes, and (old)
annotations were all in Everything, but tags and notes were later moved
to All Fields & Tags. The old `annotation` condition wasn't moved, and
when I added `annotationComment` and `annotationText`, I just left them
in the same place. But if we match notes in All Fields & Tags, we should
match annotation comments, and if we're matching comments, we might as
well match annotation text as well.

https://forums.zotero.org/discussion/119123/note-annotations-zotero-search-and-zotero-pdf-viewer-search
2024-10-26 02:20:05 -04:00
abaevbog
88e10cdace
include linked items in lib/collectionBox render (#4786)
So that they do not disappear after Libraries and Collections
section is collapsed and expanded.

Fixes: #4784
2024-10-24 23:46:55 -04:00
abaevbog
28f3a29f35
vpat 50: advanced settings - rework custom data directory section (#4048)
Selecting custom data directory radio button in advanced
settings opens up a modal to select the directory. It is
not a typical behavior for radio button, so it conflicts
with 3.2.2 success criteria.

This is a rework of the data directory setting interface to be
similar to LABD. It does not have radio buttons and the
directory explorer pops up on button click.
2024-10-23 05:22:30 -04:00
abaevbog
8e87aa15e7
vpat 17: itemTree view menu for non-main windows (#4433)
- adds View > Columns and View > Sort By menu options
  to all windows that contains an itemTree (Select Items dialog,
  Advanced Search, classic Add Citation, Edit Bibliography
  dialog).
- the menubar is global on macOS. On Windows/Linux it is
  displayed and focused on Alt keypress
- added menu option to move a selected column left,
  which we need as an alternative for drag-drop reordering
  that would not require using a mouse
2024-10-23 02:25:38 -04:00
Abe Jellinek
88d4598fce Scaffold: Change base font size to 13
We should probably just use the Zotero font size setting here, but
this works as a quick fix.
2024-10-22 15:33:21 -04:00
Abe Jellinek
03b00669ed Fix platformKeys initialization code never running at all
After cb62ab064d.
2024-10-22 15:01:03 -04:00
Abe Jellinek
cb62ab064d Fix platformKeys initialization code running repeatedly
DOMContentLoaded bubbles up from note-editor and reader frames.
2024-10-22 14:47:42 -04:00
abaevbog
8a6bc2cb10
vpat 44 followup: no escape handler in editors (#4776) 2024-10-22 14:21:50 -04:00
Martynas Bagdonas
7c9a0ac624 Use page scroll mode for PDF preview
Fixes #4653
2024-10-22 13:56:30 +01:00
Adomas Venčkauskas
bfa9d5b6d2 Update ScienceDirect BrowserDownload captcha selector 2024-10-22 08:30:40 +03:00
Bogdan Abaev
c0c3d93019 vpat 45: bibliography dialog instructions and aria (#4413)
- made the wrapper of the dialog focusable and added aria-description
  so that when the dialog opens it announces how to use the dialog
- added aria-labels to buttons, references list, and editor
- make sure that the references list always selects an item when
  focused without clicking
- added a border to focused buttons from simple editor to make it visually
  clear when they received focus
2024-10-22 01:17:45 -04:00
Abe Jellinek
3e37c44c82 Localize View menu label in reader windows
https://forums.zotero.org/discussion/118965/menu-translation-missing-for-view-when-moved-to-new-window
2024-10-21 11:38:31 -04:00
Dan Stillman
62de988cb8 Fix Add button in Libraries and Collections section
Regression from 7cf9097467

https://forums.zotero.org/discussion/118933/the-function-of-add-button-in-libraries-and-collections
2024-10-21 06:48:46 -04:00
abaevbog
c338c0262d
Better label to make item standalone in "Change Parent Item…" dialog (#4768)
More specific labels for the button to turn selected item(s)
into standalone:
- "Convert to Standalone Sttachment(s)" when only attachments
are selected
- "Convert to Standalone Note(s)" when only notes are selected
- "Convert to Standalone" otherwise (e.g. if a note and an attachment
are selected together)

Fixes: #4766
2024-10-20 02:05:22 -04:00
windingwind
eea1291314
Fix select items window overflow (#4747)
Also:

* Remove unused element in select items window
* Move and rename zotero/ingester/selectitems to scaffold/select to
   avoid confusion with selectItemsDialog
2024-10-19 06:33:14 -04:00
Abe Jellinek
1f5b7f5414 Ctrl-Enter handler: Position correctly when selection is empty
In empty <input>s and the note editor.

Also add comment explaining possible alternate approach.

Fixes #4763
2024-10-17 13:54:43 -04:00
abaevbog
1df2a96ae3
Remove ascii control chars from rendered item title (#4764)
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>
2024-10-17 03:10:10 -04:00
Abe Jellinek
06844d18ad
Implement Ctrl-Enter handler in child frames (#4734) 2024-10-17 01:11:52 -04:00
Dan Stillman
617b014b85 Update utilities submodule 2024-10-16 01:32:15 -04:00
Tom Najdek
5bd068860c
Fix renaming behavior for attachment without extension (#4742)
Fix #4739
2024-10-15 06:48:04 -04:00
abaevbog
7cf9097467
vpat 16: context menu as a drag-drop alternative to move/copy collections (#4420)
- 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
2024-10-15 06:34:42 -04:00
abaevbog
c14896a640
vpat 44: scaffold keyboard tab selection focus (#4069)
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.
2024-10-10 17:08:32 -04:00
abaevbog
15ccf28fb4
vpat 16: context menu as a drag-drop alternative to change parent item of attachment/note (#4423)
- 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
2024-10-10 16:56:34 -04:00
Abe Jellinek
237a2e5b86 Scaffold: Fix test statuses not persisting 2024-10-09 14:15:34 -04:00
Abe Jellinek
e1cf60b3cf Update subprocess() return type in doc comment 2024-10-09 13:43:02 -04:00
Abe Jellinek
f22f87537c Scaffold: Get PATH from login shell for ESLint on macOS
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
2024-10-09 13:43:01 -04:00
Abe Jellinek
528ee8adac Scaffold: Fix evaluation of translator ending in single-line comment 2024-10-09 10:17:42 -04:00