Commit graph

14533 commits

Author SHA1 Message Date
abaevbog
ac1cb29c69
refresh library tab's icon cache on update (#4387)
When tabs' state is updated, refresh library tab's icon.
Do not skip it if the icon already exists (as for reader tabs).
Otherwise, when selected row from collectionTree changes,
the icons in the library tab will not update.

Fixes: #4385
2024-07-13 15:46:33 -04:00
windingwind
b16bbc4a8a Fix richlistitem inner element style
fix: https://github.com/zotero/zotero/pull/4339#issuecomment-2225908561
2024-07-13 23:51:56 +08:00
Abe Jellinek
174bde7451
Find Available PDF: Use translator-provided title (#4377) 2024-07-12 00:58:38 -04:00
windingwind
f79dab8f3e
No focus ring and background in CR readonly fields (#4380)
fix: #4138
2024-07-12 00:57:04 -04:00
abaevbog
c0f6671542
fixes to saved search dialog layout (#4378)
- remove padding between the <dialog> and the window edges
- explicit width for all zoterosearch fields because otherwise
a menulist with a long content (e.g. longer collection name) name
can push the + and - buttons outside of the window

Fixes: #4374
2024-07-12 00:55:49 -04:00
abaevbog
f387c67fbc
remove unneeded .trim from react-virt patch (#4379)
Followup to #4370, per https://github.com/zotero/zotero/pull/4370#discussion_r1674336402
2024-07-12 00:21:45 -04:00
Abe Jellinek
c3e927e52f Disable flaky Advanced Search test on CI
Re-enable after we figure out #4375, but this is breaking PR CI runs
right now.
2024-07-11 11:43:23 -04:00
abaevbog
0ea3d232f0
quickFormat rtl layout fixes (#4372)
- properly determine between which two bubbles a click landed
- set input direction
- delete the bubble on the left of the cursor
- in rtl, use selectionStart as the expected end of the input
and selectionEnd as the start. It fixes the issue of the
cursor getting stuck at the end of the input, as well as
fixes the Home/End not working from the right end.
- fix spacing issues for item descriptions in both layouts

Fixes: #4371
2024-07-11 05:39:24 -04:00
Dan Stillman
40a9ebc225 Update reader submodule 2024-07-11 01:47:42 -04:00
Tom Najdek
260709969e Improve RTF Scan UI
* Multiple accessiblity fixes
* Increase font size
* Nicer layout of the welcome screen
* Fix description in the welcome screen
* Add stripes to the table in citations matching screen
* Change icons for accept and resolve manually buttons
2024-07-11 01:46:16 -04:00
Tom Najdek
9cb7e7bb92 Few small tweaks to the wizards styling
* Align buttons with content on macOS
* Slightly reduce padding
* Remove font-size definition
2024-07-11 01:46:16 -04:00
Tom Najdek
843300c62d Use built-in color for the focus ring on macOS 2024-07-11 01:46:16 -04:00
Bogdan Abaev
80b5486991 fix some buttons not opening on space/Enter (#4243)
E.g., field-version button in itembox merge mode
2024-07-11 01:44:15 -04:00
Bogdan Abaev
8f9d5e190e fix itembox field-version button remaining visible (#4243)
Even after the merge mode is no longer active.
Fixes: #4240
2024-07-11 01:44:15 -04:00
abaevbog
a07117c938
Patch react-virtualized to fix react 18 scroll lag (#4370)
React 18 introduced automatic batching which tries to avoid unnecessary
re-rendering (https://react.dev/blog/2022/03/08/react-18-upgrade-guide#automatic-batching).
In some components based on react-virtualized (e.g. tag selector),
it leads to visible lagginess on scroll via keypress or
mouse wheel (not trackpad). This patch wraps setState of the scroll handler
of react-virtualized with ReactDOM.flushSync, which opts out
of automatic batching.

Fixes: #4368
2024-07-11 01:18:25 -04:00
Abe Jellinek
657d5c4c42 Fix skip() error on CI
Apparently you can't call skip() directly from a describe() block.
2024-07-10 14:03:06 -04:00
Dan Stillman
0b3eda5d82 Update styles and translators 2024-07-10 02:16:43 -04:00
Dan Stillman
d90f655513 Update locales from Transifex 2024-07-10 02:15:35 -04:00
Dan Stillman
5d67514705 Update reader submodule 2024-07-10 01:51:56 -04:00
Abe Jellinek
9ea56705a0 Don't change title when renaming from parent metadata (#4363) 2024-07-10 01:51:39 -04:00
Abe Jellinek
327206f931 Rename subsequent attachments after their file base names (#4363) 2024-07-10 01:51:33 -04:00
Abe Jellinek
13496afeb3
Use SelectedItemText color on SelectedItem backgrounds (#4350) 2024-07-10 01:20:47 -04:00
Bogdan Abaev
2f1aa19ae5 tweaks for tests to pass after React 18 upgrade (#4338)
- Wait for the itemsView to be initialized in the onload listener of the
  Advanced Search window
- moved waitForTagSelector in a few tests to avoid it resolving too
  early. For some tests these tweaks are always required, for others -
  tests would pass half the time. Again, not clear why it's necessary,
  potentially some flakiness from react 18?
2024-07-10 01:04:33 -04:00
Bogdan Abaev
fd93af8305 ReactDOM.unmountComponentAtNode => root.unmount() (#4338)
unmountComponentAtNode is deprecated, so save or
pass the root as a prop and call root.unmount when
the component is destroyed
2024-07-10 01:04:31 -04:00
Bogdan Abaev
37991e220e use Icons.getCSSIcon instead of getDOMElement (#4338)
- getDOMElement relied on React.renderToStaticMarkup,
which is react 18 was moved to a different file than the
one exposed with react-dom-server. To not add another
file just for that one function, replace getDOMElement
with getCSSIcon.
- getDOMElement was mainly used for a few remaining
png icons that were not replaced with svg. For those
few icons, just record which background-url should be
set when the module loads and add it in getCSSIcon if
applicable. Alternatively, background-image setting
could be moved into a stylesheet?
- a few hardcoded twisty svgs in icons.jsx are not used anywhere
(they would be fetched via IconTwisty), so those are
removed
2024-07-10 01:04:28 -04:00
Bogdan Abaev
af4bbd2c4d ReactDOM.render -> React.createRoot().render (#4338)
- await for promise that is resolved in ref attribute
of root.render() as an alternative for removed callback
from ReactDOM.render
- await-ing for promise every time when ref needs to be
used after render (e.g. tag selector container), otherwise
ref will be undefined
- additional window.sizeToContent calls to properly size
dialogs with react-rendered content (e.g. create parent),
otherwise the window can cut off some of the content.
2024-07-10 01:04:24 -04:00
Bogdan Abaev
4e0c89b352 react 18.3.1 updated dependency (#4338) 2024-07-10 01:04:17 -04:00
Abe Jellinek
6eea3704a9 Zotero.ItemFields.isAutocompleteField: Cache, use Set 2024-07-10 00:48:53 -04:00
Abe Jellinek
a334d9fdd8 Item box: Use startsWith, not includes, for field name checks 2024-07-10 00:48:53 -04:00
Abe Jellinek
c05d43fa8e Item box: Enable autocomplete on long fields 2024-07-10 00:48:53 -04:00
Abe Jellinek
38764efb5a editable-text: Allow autocomplete with wrapping 2024-07-10 00:48:53 -04:00
Abe Jellinek
3e6cc03e2e Add autocomplete-textarea CE
Exactly the same as the Mozilla autocomplete-input CE, with a different
base class. Seems to work perfectly fine.
2024-07-10 00:48:53 -04:00
Abe Jellinek
0f5fc2962a RTL: Reverse collapsible-section animation 2024-07-10 00:43:59 -04:00
Abe Jellinek
ddfe376900 RTL: Flip attachment preview arrows 2024-07-10 00:43:59 -04:00
Abe Jellinek
043c6e1795 RTL: Use direction-aware arrow key handling 2024-07-10 00:43:59 -04:00
Abe Jellinek
ea2d4417e1 RTL: Add direction-aware arrow key utilities
We need these all over the place.
2024-07-10 00:43:59 -04:00
abaevbog
b0fa4415ee
fix focusring not appearing on linux (#4365)
-moz-accent-color variable doesn't seem to exist on linux.
Use --color-accent as the focus border, same as what is
already done in the reader.

Fixes: #4340
2024-07-10 00:41:13 -04:00
abaevbog
32b92c0205
Cache tabs' icons in data field (#4367)
So that after reload, we can display the correct icon sooner

Fixes: #4342
2024-07-10 00:31:54 -04:00
Abe Jellinek
8cb93b35a4 Tests: Fix -noquit flag
Fixes #4359
2024-07-09 12:07:32 -04:00
Dan Stillman
b899fc9d46 Update reader submodule 2024-07-09 04:54:22 -04:00
Dan Stillman
287ab3296d Update English strings for Transifex 2024-07-09 04:49:10 -04:00
Dan Stillman
5c08e07bf5 Don't expect return value from renameSelectedAttachmentsFromParents()
Removed in da1599ca34, because it was inconsistent and not actually
meaningful
2024-07-09 04:47:56 -04:00
Dan Stillman
da1599ca34 Show popup for Rename File from Parent Metadata
Closes #3230
2024-07-09 04:44:36 -04:00
Abe Jellinek
af1a4941ce
Set automatic title on first child attachment of each type (#4237) 2024-07-09 04:11:39 -04:00
windingwind
e4f75c36e1
Fix scaffold window UI (#4339)
fix: #4258
2024-07-09 04:02:52 -04:00
Abe Jellinek
f79a59f56a
Move various item pane strings to Fluent (#4329)
And:

- Accept Fluent l10nId/l10nArgs in ItemMessagePane#render()
- Reuse existing <description> tag to eliminate l10n flickering
2024-07-09 04:00:19 -04:00
windingwind
006c6e890a
Fix window control in RTL (#4348)
fix: #4332
2024-07-09 03:56:19 -04:00
abaevbog
2d3375e9f6
Revised logic of trashed collections in item cache (#4358)
- revert change from 2401a34031
that only loads un-trashed collections in _loadCollections.
If an item only belongs to deleted collections, item._loaded.collections = true
from _loadCollections will never run, so an exception
will be thrown in item.toJSON() when syncing happens.
Instead, to address the problem of item.getCollections()
having stale data #4307, add 'includeTrashed' parameter to
item.getCollections() based on which item._collections
will be filtered. Fixes: #4346
- revert earlier, no more necessary, changes from a532cfb475
to not alter item._collections cache when collections are being trashed or restored.
Collection is removed from item._collections only when it is permanently
erased.
- removed unnecessary test checking for consistent item._collections
value before and after reload, since item._collections is no longer
modified
- fix encountered bug where a trashed child collection is not
unloaded if a parent collection is erased without being trashed first.
- tweaked Zotero.Search sql construction to count items
that only belong to trashed collections into 'unfiled'. Fixes: #4347

---------

Co-authored-by: Dan Stillman
2024-07-09 03:34:12 -04:00
Abe Jellinek
58c445b616 Preferences: Extract #prefs-search queries 2024-07-08 16:40:26 -04:00
Abe Jellinek
c2b51c7dfe Preferences: Separate load and show, fix navigation race condition
Now we give the caller control over whether the pane should still be
shown after it loads. We're fine with showing in all cases when handling
a search, but we don't want to show when handling a navigation select
if the user already selected something else while the pane was still
loading.

Fixes #4357
2024-07-08 16:38:58 -04:00