Dan Stillman
89d9efdec7
Use seconds instead of ms for attachmentLastProcessedModificationTime
2021-03-02 17:58:28 -05:00
Dan Stillman
88f886cb30
Don't delete all annotations when updating attachment item
2021-03-02 17:58:28 -05:00
Dan Stillman
857b413df1
Don't add non-syncing items to sync delete log
...
Currently just external annotations
2021-03-02 17:58:28 -05:00
Dan Stillman
226fc90308
Switch to cache files for image annotations
...
Instead of embedded-image attachments
Create with Zotero.Annotations.saveCacheImage({ libraryID, key }, blob)
2021-03-02 17:58:28 -05:00
Dan Stillman
8c464a7a8b
Add options
argument for Zotero.File.createDirectoryIfMissingAsync()
...
To allow passing 'from' argument through to OS.File.makeDir()
2021-03-02 17:58:28 -05:00
Dan Stillman
2a203afb20
Redo Zotero.File.generateDataURI() without XPCOM and type sniffing
...
Now async and takes a contentType parameter
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
c13ac32ad2
Use new attachment fields for annotations import
2021-03-02 17:58:28 -05:00
Dan Stillman
ebc0ca2462
Add annotationIsExternal
property to annotations
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
5266734ac9
Fix note editor tests
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
232ffba2ab
Improve note content insertion
2021-03-02 17:58:28 -05:00
Dan Stillman
404eaf13d0
Remove obsolete line from Zotero.Reader.open()
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
a96c16a33d
Fix resizing for all vertical panes on macOS
2021-03-02 17:58:28 -05:00
Adomas Venčkauskas
5bc41e250b
Fix citing with automatic citation updates disabled
2021-03-02 17:58:28 -05:00
Dan Stillman
c73f51faef
Always await callback in ZoteroPane.viewAttachment()
...
The recent change to sniff for PDFs when an attachment didn't have a
content type resulted in a ZoteroPane test failing, because a stub for
Zotero.launchFile() wouldn't be called by the time the viewAttachment()
promise resolved.
2021-03-02 17:58:28 -05:00
Dan Stillman
55c6de23ba
Add "Include Annotations" checkbox to export options dialog
...
This changes the attachment saveFile() function in translators to be
async. In order for errors to be properly caught, translators will need
to be changed to make doExport() async and await on saveFile() calls.
(The translation architecture theoretically already allows doExport() to
be async.)
2021-03-02 17:58:28 -05:00
Dan Stillman
688298af7f
Add Zotero.Item::isPDFAttachment()
...
Returns true for stored or linked PDFs
2021-03-02 17:58:28 -05:00
Dan Stillman
b1e324ddfb
Fix marking of childItems as loaded for non-top-level items
...
Now that attachments and notes can have child items too
2021-03-02 17:58:28 -05:00
Dan Stillman
ea04c32c9d
Fix running of tests after adding tab bar
2021-03-02 17:58:28 -05:00
Dan Stillman
5eeae576b4
Fix item pane tab appearance in PDF tab on Big Sur
2021-03-02 17:58:28 -05:00
Dan Stillman
9254bcbd03
Remove no-op line in ReaderInstance::_getAnnotation()
...
And clarify variable name for item vs. JSON
2021-03-02 17:58:28 -05:00
Dan Stillman
6ee3863e37
Fix clearing of annotation fields
2021-03-02 17:58:28 -05:00
Dan Stillman
69958d4356
Return Zotero.Item objects from getAnnotations() instead of ids
...
Returning ids mirrors getAttachments() and getNotes(), but I think we
want to move towards a world where those return actual objects, even if
we need async load calls on the returned objects.
2021-03-02 17:58:28 -05:00
Dan Stillman
60cb299f40
Fix uploading of embedded-image attachments
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
51f760fe1a
Improve the new UI:
...
- Revert `notesList` to standalone notes mode only
- Fix splitter styling on Windows
- Fix `contextPane` performance fixes
- Add a customizable throttle function to `Zotero.Utilities`
- Fix reader tab selection issues
- Improve error handling in the new editor
- Update pdf-reader and zotero-note-editor submodules
- Fix contextPane child notes list
- Properly notify editor about new images
- Fix note title and body snippet extraction
- Persist right-hand pane state when switching tab
- Hopefully fix two panes visible at the same time
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
c6a196b999
Tab bar: Improve tab close button
2021-03-02 17:58:28 -05:00
Flachware
f440b52aa5
Add xmark icon.
2021-03-02 17:58:28 -05:00
Dan Stillman
0d4ad01201
Fix attachmentSyncedHash for embedded-image attachments
2021-03-02 17:58:28 -05:00
Dan Stillman
d44ab7efbb
Fix attachmentSyncedModificationTime for embedded-image attachments
2021-03-02 17:58:28 -05:00
Martynas Bagdonas
62c6f561a6
Fix missing PDF attachment MIME type on opening
2021-03-02 17:58:27 -05:00
Flachware
15a0415eba
Update item and notes icons.
2021-03-02 17:58:27 -05:00
Dan Stillman
9a41dc69fe
Add PDF attachment properties to Zotero.Item
...
- .attachmentLastProcessedModificationTime
- .attachmentPageIndex
2021-03-02 17:58:27 -05:00
Adomas Venčkauskas
901a10f0b6
Fix note citations being inserted in reverse order
2021-03-02 17:58:27 -05:00
Adomas Venčkauskas
50bef8dffe
Optimization of note insertion API
2021-03-02 17:58:27 -05:00
Adomas Venčkauskas
06e1c404bd
Changes to note insertion for MacWord
2021-03-02 17:58:27 -05:00
Martynas Bagdonas
45a3e96e68
Improve the new UI:
...
- Rollback all redundant changes made in the last few months
- Introduce `contextPane`
- Show child notes in the notes pane
- Fix splitter styling
- Various bug fixes
- Fix contextPane switching and states persistence
- Persist reader sidebar open/close state
- Fix bottom pane placeholder updating concurrency issues
- Fix toolbar placeholder width updating
- Display titles for split button
- Fix toolbar position when switching tabs
- Add PDF tab loading cover
- Improve notes and citations insertion
- Clean up and refactor code
- Fixes and cleanups to PDF reader
2021-03-02 17:54:48 -05:00
Dan Stillman
ab04468342
Item pane improvements for contextual/pinned modes
...
- Show item title at top of item pane in contextual mode not in a
library tab
- Show "All Notes" at top of standalone notes pane
- Add background color when clicking notes in standalone notes list
- Clean up back buttons
Mode button is still a placeholder but uses emoji to show the mode
2021-03-02 17:43:10 -05:00
Martynas Bagdonas
bb5075e8b8
Experiment with the new item pane UI
2021-03-02 17:43:10 -05:00
Adomas Venčkauskas
36cc18e8cf
Add root html tags if not present for note insertion
2021-03-02 17:43:10 -05:00
Dan Stillman
b2b9be381e
Clean up temporary note slider
2021-03-02 17:43:10 -05:00
Martynas Bagdonas
8e3dc61070
Improve menubar for reader tab and window
2021-03-02 17:43:10 -05:00
Adomas Venčkauskas
51db52a5ea
Changes for note insertion in non-GoogleDocs
2021-03-02 17:43:10 -05:00
Martynas Bagdonas
8709ddd657
Experiment with the new UI
2021-03-02 17:43:10 -05:00
Adomas Venčkauskas
52f3945aa4
Disable switching to the classic dialog when inserting a note
2021-03-02 17:43:10 -05:00
Dan Stillman
393807f487
Don't match attachments or annotations for titleCreatorYearNote search
2021-03-02 17:43:10 -05:00
Adomas Venčkauskas
6be2faa9c2
Fix note citation insertion breaking when citing the same item in a note
2021-03-02 17:43:10 -05:00
Adomas Venčkauskas
1401550230
Allow citing items in notes with only property
2021-03-02 17:43:10 -05:00
Dan Stillman
787641dc17
Fix display of item pane after pinned-note changes
...
Stacked mode is still broken
2021-03-02 17:43:10 -05:00
Adomas Venčkauskas
2e9e655479
Add ability to cite Zotero notes.
...
<span class=citation data-citation=serialized-citation-data/>
elements will automatically be converted to zotero citations
2021-03-02 17:43:09 -05:00
Adomas Venčkauskas
2b3669afd8
Consolidate Integration.Fields into Integration.Session
2021-03-02 17:43:09 -05:00
Martynas Bagdonas
3701b84116
Proof of concept note view in tab mode
2021-03-02 17:43:08 -05:00
Martynas Bagdonas
783f9c50d5
Tab bar: Fix tabs on Windows & Linux
2021-03-02 17:40:24 -05:00
Martynas Bagdonas
2f505862d7
Tab bar & Reader: Rewrite and connect everything
2021-03-02 17:40:24 -05:00
Martynas Bagdonas
43c55594c1
Store PDF state in .zotero-pdf-state
2021-03-02 17:40:24 -05:00
Martynas Bagdonas
76e77d4422
Improve PDF import/export
2021-03-02 17:40:24 -05:00
Dan Stillman
e99f76b40c
Tab bar: Update styling on macOS
2021-03-02 17:40:24 -05:00
Dan Stillman
b5f7255da2
Tab bar: Close current tab with Cmd/Ctrl-w
...
And use keydown, not keypress, for moving between tabs
2021-03-02 17:40:24 -05:00
Dan Stillman
5b947a3896
Tab bar: Add comment for tab navigation in keypress handler
2021-03-02 17:39:39 -05:00
Dan Stillman
ead8c6bb45
Fix Everything search after annotations
...
And replace ancient 'annotation' search condition with
'annotationText'/'annotationComment'
2021-03-02 17:39:39 -05:00
Dan Stillman
2ca1618627
Tab bar: Change tab with Ctrl-Page-Up/Page-Down
2021-03-02 17:39:39 -05:00
Dan Stillman
a47d7e4d9c
Fix possible selection bug after closing tab
2021-03-02 17:39:39 -05:00
Martynas Bagdonas
a89f7e8ec7
Improve PDF reader
2021-03-02 17:39:39 -05:00
Dan Stillman
875e9f674f
Initial tab bar implementation
2021-03-02 17:39:37 -05:00
Dan Stillman
199619f40e
Remove .noteSchemaVersion
...
This leaves item.note in place, rather than reverting all the
`getNote()` → `.note` changes. We can consider which we want to keep.
2021-03-02 17:36:05 -05:00
Dan Stillman
602e4c1e1f
More annotation 'position' fixes
2021-03-02 17:36:05 -05:00
Dan Stillman
2536edb6ab
Fix annotation 'position' handling and update additional sortIndex tests
...
Item.position has to be a string. It still gets passed to/from the PDF
reader as an object.
2021-03-02 17:36:05 -05:00
Dan Stillman
a0fb7a8583
Ignore remote noteSchemaVersion: 0 for items with no local note
...
E.g., embedded attachment notes with no note don't have an itemNotes row
and don't output noteSchemaVersion in their JSON, but they shouldn't
trigger a conflict
2021-03-02 17:36:05 -05:00
Dan Stillman
b2aee30410
Fix fromJSON() not importing parentItem for annotations
2021-03-02 17:36:05 -05:00
Dan Stillman
7ea14aa34e
Add Zotero.Item::isStoredFileAttachment()
...
And replace most uses of isImportedAttachment(), which doesn't include
embedded-image attachments
There might not be much reason to keep isImportedAttachment() around.
2021-03-02 17:36:05 -05:00
Dan Stillman
bdec99f103
Update DB compatibility for annotations and noteSchemaVersion
2021-03-02 17:36:05 -05:00
Dan Stillman
b8eeb3abaa
Drop decimal places from annotation sortIndex
2021-03-02 17:36:05 -05:00
Dan Stillman
acc3a70083
Remove SQL sort by parentItemID in Zotero.Sync.Data.Local.getUnsynced()
...
Now handled by Zotero.DataObjects.sortByParent()
2021-03-02 17:36:05 -05:00
Dan Stillman
8f5662ee6a
Better error logging on sync engine upload failure
2021-03-02 17:36:05 -05:00
Dan Stillman
99b959285e
Send Zotero-Schema-Version header with API requests
...
Set to the current global schema version
2021-03-02 17:36:05 -05:00
Dan Stillman
e133aab530
Annotation support in Item::fromJSON()/toJSON()
...
And clean up embedded-image handling
2021-03-02 17:36:05 -05:00
Dan Stillman
3c6ae0e656
Throw on missing parentItemID in Attachments.importEmbeddedImage()
2021-03-02 17:36:05 -05:00
Dan Stillman
a94323fc15
Sort multiple levels of items when generating API JSON
...
Added Zotero.DataObjects.sortByParent() to sort child items immediately
after their parent items. Zotero.DataObjects.sortByLevel(), which is
used for collections, sorts each level together, but that's less
appropriate for items where, e.g., an embedded-image attachment should
immediately follow the note that depends on it.
2021-03-02 17:36:05 -05:00
Dan Stillman
427a227370
Rename 'area' annotations to 'image' annotations
2021-03-02 17:36:05 -05:00
Martynas Bagdonas
05318b3021
Improve note editor and backups
2021-03-02 17:36:05 -05:00
Martynas Bagdonas
bce50e8e9c
Add old note backup and preview
2021-03-02 17:36:05 -05:00
Martynas Bagdonas
4d8a9ed753
Replace all note local URIs at the first sync time
2021-03-02 17:36:05 -05:00
Martynas Bagdonas
af57565acf
Reorganize and improve notes
2021-03-02 17:36:05 -05:00
Dan Stillman
078a18f7c0
Shorten sortIndex to 22 characters
2021-03-02 17:36:05 -05:00
Dan Stillman
63a416db40
Fix display of note titles on startup (regression from noteSchemaVersion)
2021-03-02 17:36:05 -05:00
Dan Stillman
4142f4b316
Replace occurrences of .getNote()
with .note
2021-03-02 17:36:05 -05:00
Dan Stillman
ebc53a2bbc
Add noteSchemaVersion, and replace item.getNote() with .note
...
```
var noteContents = item.note; // was item.getNote()
var schemaVersion = item.noteSchemaVersion;
item.setNote(contents) // default to Zotero.Notes.schemaVersion
item.setNote(contents, schemaVersion) - explicit version
```
2021-03-02 17:36:05 -05:00
Martynas Bagdonas
2543a695e8
Introduce PDF reader and note editor
2021-03-02 17:36:05 -05:00
Dan Stillman
cbeb5881e9
Hide annotations from items list
2021-03-02 17:36:05 -05:00
Dan Stillman
1c366de546
Initial annotation support
2021-03-02 17:36:05 -05:00
Dan Stillman
92ba393488
Don't clear item type set in constructor when loading primary data
...
Generally, don't clear the change state for primaryData when calling
loadPrimaryData() on an item that doesn't exist. Specifically, this
fixes an issue where calling loadPrimaryData() on a nonexistent item
after setting a libraryID and key would also clear any item type set in
the constructor. The same would apply for props set in the
Collection/Search constructors.
2021-03-02 17:36:05 -05:00
Dan Stillman
8026f744c5
Remove old HTML snapshot annotation support
...
Any data trapped in these tables hasn't been accessible in many years.
2021-03-02 17:36:04 -05:00
Dan Stillman
b54d4e78b7
Save createdByUserID and lastModifiedByUserID for group items
2021-03-02 17:36:04 -05:00
Dan Stillman
bb0a1dab13
Don't normalize primary data values in Item.setField()
...
Just enforce proper data types
2021-03-02 17:36:04 -05:00
Dan Stillman
cca5dc0314
Don't send unnecessary format=json
in sync download requests
2021-03-02 17:36:04 -05:00
Dan Stillman
0941a14a65
Remove 'lastsync' assignment from Zotero.Collection constructor
2021-03-02 17:36:04 -05:00
Dan Stillman
b4522535e8
Add _hasFieldChanged()/_getChangedField/_getLatestField() to DataObject
...
Make it easier to use the new `_changedData` approach to object
modifications (currently used only for `tags` and `deleted`) where
changed data is stored in a separate object rather than in the primary
variables. _getLatestField() can be used to return either the new
unsaved value or the current saved value.
2021-03-02 17:36:04 -05:00
Dan Stillman
c9eb661f25
Update locales from Transifex
2021-02-25 18:54:07 -05:00
Dan Stillman
b2b909b42c
Update submodules
2021-02-25 18:45:28 -05:00
Dan Stillman
33528d0f36
Fix "New Collection" button when My Publications is selected
...
Fixes #1955
2021-02-25 18:30:33 -05:00
Dan Stillman
ba7f7e3250
Merge pull request #1962 from fletcherhaz/context-menu
...
Add context menu for React textboxes to Create Parent Dialog
2021-02-25 17:57:09 -05:00
Dan Stillman
3ff92e2795
Add "More Information" button to invalid-data sync error
2021-02-25 16:08:54 -05:00