84730e610c
After a local item change, Zotero uploads the JSON and then applies the saved JSON returned from the API to the local object using `fromJSON()`, the same as it would apply any other remote change. `fromJSON()` is meant to migrate Extra lines into real types and fields after future item type/field changes. It calls `Z.Utilities.Internal.extractExtraFields()`, which looks for valid item type or CSL type values in Type lines in Extra, handles the rest of parsing accordingly, and passes back the parsed item type. `fromJSON()` wasn't handling `itemType` in the response object, so the item type didn't get applied and the Type line was stripped. This fixes that. Since valid type values are now parsed, if you have a Journal Article item with a Pages field and enter "Type: song" into Extra and sync, the item will be converted to Audio Recording and `Pages: 123` will be placed in Extra. https://forums.zotero.org/discussion/comment/369221/#Comment_369221 |
||
---|---|---|
.. | ||
components | ||
content | ||
resource | ||
tests | ||
chrome.manifest | ||
install.rdf | ||
runtests.sh |