27cb099c82
This allows for imported items to be saved individually instead of being saved in a batch after processing the entire imported file (which for large imports would hang the UI, even if the actual saving was asynchronous). This also fixes the progress meter during asynchronous saves. To take advantage of this, import translators will need to return a promise when available (using the native Promise object) from doImport() and wait for optional promises from item.complete(). The logic here can probably be streamlined further. (E.g., we might be able to say that item.complete() always returns a promise.) It's complicated by the fact that, at the moment, Promise isn't available in child sandboxes, though this can probably be fixed. Tests forthcoming, but they require a translator that supports this, which needs to be committed separately. View with -w for a cleaner diff. |
||
---|---|---|
.. | ||
zotero | ||
zotero-platform |