mirror of
https://github.com/zotero/zotero.git
synced 2026-10-04 02:31:47 +00:00
parent
7652fb25f0
commit
3861af50d1
2 changed files with 39 additions and 34 deletions
|
|
@ -320,12 +320,45 @@
|
|||
this._previewDiscarded = false;
|
||||
this.previewElem.render();
|
||||
}
|
||||
this._lastPreviewRenderTime = Date.now();
|
||||
this._lastPreviewRenderId = `${Date.now()}-${Math.random()}`;
|
||||
return;
|
||||
}
|
||||
|
||||
Zotero.debug('Refreshing attachment box');
|
||||
this._asyncRendering = true;
|
||||
|
||||
await this.renderAttachmentInfo();
|
||||
|
||||
if (this.usePreview) {
|
||||
this.previewElem.item = this.item;
|
||||
await this.previewElem.render();
|
||||
}
|
||||
|
||||
this._asyncRendering = false;
|
||||
|
||||
this._lastPreviewRenderId = `${Date.now()}-${Math.random()}`;
|
||||
}
|
||||
|
||||
discard() {
|
||||
if (!this._preview) return;
|
||||
let lastPreviewRenderId = this._lastPreviewRenderId;
|
||||
setTimeout(() => {
|
||||
if (!this._asyncRendering && this._lastPreviewRenderId === lastPreviewRenderId) {
|
||||
this._preview?.discard();
|
||||
this._previewDiscarded = true;
|
||||
}
|
||||
}, this._discardPreviewTimeout);
|
||||
}
|
||||
|
||||
onViewClick(event) {
|
||||
ZoteroPane_Local.viewAttachment(this.item.id, event, !this.editable);
|
||||
}
|
||||
|
||||
onShowClick(event) {
|
||||
ZoteroPane_Local.showAttachmentInFilesystem(this.item.id, event.originalTarget, !this.editable);
|
||||
}
|
||||
|
||||
async renderAttachmentInfo() {
|
||||
// Cancel editing filename when refreshing
|
||||
this._isEditingFilename = false;
|
||||
|
||||
|
|
@ -469,34 +502,6 @@
|
|||
else {
|
||||
selectButton.hidden = true;
|
||||
}
|
||||
|
||||
if (this.usePreview) {
|
||||
this.previewElem.item = this.item;
|
||||
await this.previewElem.render();
|
||||
}
|
||||
|
||||
this._asyncRendering = false;
|
||||
|
||||
this._lastPreviewRenderTime = `${Date.now()}-${Math.random()}`;
|
||||
}
|
||||
|
||||
discard() {
|
||||
if (!this._preview) return;
|
||||
let lastRenderTime = this._lastPreviewRenderId;
|
||||
setTimeout(() => {
|
||||
if (!this._asyncRendering && this._lastPreviewRenderId === lastRenderTime) {
|
||||
this._preview?.discard();
|
||||
this._previewDiscarded = true;
|
||||
}
|
||||
}, this._discardPreviewTimeout);
|
||||
}
|
||||
|
||||
onViewClick(event) {
|
||||
ZoteroPane_Local.viewAttachment(this.item.id, event, !this.editable);
|
||||
}
|
||||
|
||||
onShowClick(event) {
|
||||
ZoteroPane_Local.showAttachmentInFilesystem(this.item.id, event.originalTarget, !this.editable);
|
||||
}
|
||||
|
||||
updateItemIndexedState() {
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
_preview = null;
|
||||
|
||||
_lastPreviewRenderTime = "";
|
||||
_lastPreviewRenderId = "";
|
||||
|
||||
_discardPreviewTimeout = 60000;
|
||||
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
this._previewDiscarded = false;
|
||||
this.previewElem.render();
|
||||
}
|
||||
this._lastPreviewRenderTime = `${Date.now()}-${Math.random()}`;
|
||||
this._lastPreviewRenderId = `${Date.now()}-${Math.random()}`;
|
||||
return;
|
||||
}
|
||||
this._renderStage = "final";
|
||||
|
|
@ -209,9 +209,9 @@
|
|||
|
||||
discard() {
|
||||
if (!this._preview) return;
|
||||
let lastRenderTime = this._lastPreviewRenderTime;
|
||||
let lastPreviewRenderId = this._lastPreviewRenderId;
|
||||
setTimeout(() => {
|
||||
if (!this._asyncRendering && this._lastPreviewRenderTime === lastRenderTime) {
|
||||
if (!this._asyncRendering && this._lastPreviewRenderId === lastPreviewRenderId) {
|
||||
this._preview?.discard();
|
||||
this._previewDiscarded = true;
|
||||
}
|
||||
|
|
@ -246,7 +246,7 @@
|
|||
}
|
||||
this.previewElem.item = attachment;
|
||||
await this.previewElem.render();
|
||||
this._lastPreviewRenderTime = `${Date.now()}-${Math.random()}`;
|
||||
this._lastPreviewRenderId = `${Date.now()}-${Math.random()}`;
|
||||
}
|
||||
|
||||
async _getPreviewAttachment() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue