More annotation 'position' fixes

This commit is contained in:
Dan Stillman 2020-09-11 03:37:57 -04:00
parent 2536edb6ab
commit 602e4c1e1f
3 changed files with 6 additions and 11 deletions

View file

@ -50,7 +50,8 @@ Zotero.Annotations = new function () {
o.pageLabel = item.annotationPageLabel;
o.color = item.annotationColor;
o.sortIndex = item.annotationSortIndex;
o.position = item.annotationPosition;
// annotationPosition is a JSON string, but we want to pass the raw object to the reader
o.position = JSON.parse(item.annotationPosition);
// Add tags and tag colors
var tagColors = Zotero.Tags.getColors(item.libraryID);

View file

@ -566,13 +566,7 @@ Zotero.Items = function() {
throw new Error("Item " + itemID + " not found");
}
try {
item._annotationPosition = JSON.parse(row.getResultByIndex(1));
}
catch (e) {
Zotero.logError(`Error parsing 'position' for item ${item.libraryKey}`);
item._annotationPosition = {};
}
item._annotationPosition = row.getResultByIndex(1);
item._annotationPageLabel = row.getResultByIndex(2);
item._loaded.annotationDeferred = true;

View file

@ -143,7 +143,7 @@ describe("Zotero.Annotations", function() {
if (prop == 'dateModified') {
continue;
}
assert.deepEqual(json[prop], exampleHighlightAlt[prop], `'${prop}' doesn't match`);
assert.deepEqual(json[prop], exampleHighlight[prop], `'${prop}' doesn't match`);
}
await annotation.eraseTx();
@ -168,7 +168,7 @@ describe("Zotero.Annotations", function() {
if (prop == 'dateModified') {
continue;
}
assert.deepEqual(json[prop], exampleNoteAlt[prop], `'${prop}' doesn't match`);
assert.deepEqual(json[prop], exampleNote[prop], `'${prop}' doesn't match`);
}
await annotation.eraseTx();
@ -207,7 +207,7 @@ describe("Zotero.Annotations", function() {
|| prop == 'dateModified') {
continue;
}
assert.deepEqual(json[prop], exampleImageAlt[prop], `'${prop}' doesn't match`);
assert.deepEqual(json[prop], exampleImage[prop], `'${prop}' doesn't match`);
}
assert.equal(json.imageURL, `zotero://attachment/library/items/${imageAttachment.key}`);