- fix progress window issues with lookup and scraping
- prevent multiple lookups and fix error dialog
This commit is contained in:
parent
0ab3f1d2d6
commit
4c09cbb7ac
4 changed files with 17 additions and 7 deletions
|
@ -1,6 +1,7 @@
|
||||||
const Zotero_Lookup = new function () {
|
const Zotero_Lookup = new function () {
|
||||||
this.accept = function() {
|
this.accept = function() {
|
||||||
document.getElementById("progress").setAttribute("status", "animate");
|
document.getElementById("progress").setAttribute("status", "animate");
|
||||||
|
document.getElementById("accept-button").disabled = true;
|
||||||
var identifier = document.getElementById("lookup-textbox").value;
|
var identifier = document.getElementById("lookup-textbox").value;
|
||||||
if(identifier.substr(0, 3) == "10.") {
|
if(identifier.substr(0, 3) == "10.") {
|
||||||
// DOI
|
// DOI
|
||||||
|
@ -17,16 +18,18 @@ const Zotero_Lookup = new function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
translate = new Zotero.Translate("search", true, false);
|
var translate = new Zotero.Translate("search", true, false);
|
||||||
translate.setSearch(item);
|
translate.setSearch(item);
|
||||||
|
|
||||||
// be lenient about translators
|
// be lenient about translators
|
||||||
var translators = translate.getTranslators();
|
var translators = translate.getTranslators();
|
||||||
Zotero.debug(translators[0].label);
|
|
||||||
translate.setTranslator(translators);
|
translate.setTranslator(translators);
|
||||||
|
|
||||||
translate.setHandler("done", function(translate, success) {
|
translate.setHandler("done", function(translate, success) {
|
||||||
if(success) {
|
if(success) {
|
||||||
window.close();
|
window.close();
|
||||||
} else {
|
} else {
|
||||||
|
document.getElementById("accept-button").disabled = undefined;
|
||||||
document.getElementById("progress").setAttribute("status", "error");
|
document.getElementById("progress").setAttribute("status", "error");
|
||||||
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
|
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
|
||||||
.getService(Components.interfaces.nsIPromptService);
|
.getService(Components.interfaces.nsIPromptService);
|
||||||
|
@ -34,10 +37,15 @@ const Zotero_Lookup = new function () {
|
||||||
Zotero.getString("lookup.failure.description"));
|
Zotero.getString("lookup.failure.description"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var saveLocation = false;
|
||||||
try {
|
try {
|
||||||
var saveLocation = window.opener.ZoteroPane.getSelectedCollection();
|
saveLocation = window.opener.ZoteroPane.getSelectedCollection();
|
||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
translate.setHandler("itemDone", function(obj, item) { window.opener.Zotero_Browser.itemDone(obj, item, saveLocation) });
|
translate.setHandler("itemDone", function(obj, item) {
|
||||||
|
if(saveLocation) saveLocation.addItem(item.getID());
|
||||||
|
});
|
||||||
|
|
||||||
translate.translate();
|
translate.translate();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
<hbox id="dialog-button-box">
|
<hbox id="dialog-button-box">
|
||||||
<toolbarbutton class="zotero-small-progress-indicator" id="progress"/>
|
<toolbarbutton class="zotero-small-progress-indicator" id="progress"/>
|
||||||
<spacer flex="1"/>
|
<spacer flex="1"/>
|
||||||
<button class="dialog-button" style="font: menu" dlgtype="cancel"/>
|
<button id="cancel-button" class="dialog-button" style="font: menu" dlgtype="cancel"/>
|
||||||
<button class="dialog-button" style="font: menu" dlgtype="accept"/>
|
<button id="accept-button" class="dialog-button" style="font: menu" dlgtype="accept"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
|
|
@ -147,7 +147,7 @@ Zotero.ProgressWindow = function(_window){
|
||||||
_progressWindow = ww.openWindow(null, "chrome://zotero/content/progressWindow.xul",
|
_progressWindow = ww.openWindow(null, "chrome://zotero/content/progressWindow.xul",
|
||||||
"", "chrome,dialog=no,titlebar=no,popup=yes", null);
|
"", "chrome,dialog=no,titlebar=no,popup=yes", null);
|
||||||
}
|
}
|
||||||
_progressWindow.addEventListener("pageshow", _onWindowLoaded, false);
|
_progressWindow.addEventListener("load", _onWindowLoaded, false);
|
||||||
_progressWindow.addEventListener("mouseover", _onMouseOver, false);
|
_progressWindow.addEventListener("mouseover", _onMouseOver, false);
|
||||||
_progressWindow.addEventListener("mouseout", _onMouseOut, false);
|
_progressWindow.addEventListener("mouseout", _onMouseOut, false);
|
||||||
_progressWindow.addEventListener("mouseup", _onMouseUp, false);
|
_progressWindow.addEventListener("mouseup", _onMouseUp, false);
|
||||||
|
|
|
@ -948,6 +948,8 @@ Zotero.Translate.prototype._translationComplete = function(returnValue, error) {
|
||||||
this.translate();
|
this.translate();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
returnValue = false;
|
||||||
} else {
|
} else {
|
||||||
// close open streams
|
// close open streams
|
||||||
this._closeStreams();
|
this._closeStreams();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue