don't show menu separator when no locate engines are available

This commit is contained in:
Simon Kornblith 2011-02-11 21:55:48 +00:00
parent 8af3a30fa4
commit c7e92b6e16

View file

@ -76,21 +76,23 @@ var Zotero_LocateMenu = new function() {
// check for custom locate engines // check for custom locate engines
var customEngines = Zotero.LocateManager.getVisibleEngines(); var customEngines = Zotero.LocateManager.getVisibleEngines();
if(customEngines.length) { var availableEngines = [];
locateMenu.appendChild(document.createElement("menuseparator"));
// add engines to menu // check which engines can translate an item
for each(var engine in customEngines) { for each(var engine in customEngines) {
// require a submission for at least one selected item // require a submission for at least one selected item
var canSubmit = false;
for each(var item in selectedItems) { for each(var item in selectedItems) {
if(engine.getItemSubmission(item)) { if(engine.getItemSubmission(item)) {
canSubmit = true; availableEngines.push(engine);
break; break;
} }
} }
}
if(canSubmit) { // add engines that are available for selected items
if(availableEngines.length) {
locateMenu.appendChild(document.createElement("menuseparator"));
for each(var engine in availableEngines) {
var menuitem = _createMenuItem(engine.name, null, engine.description); var menuitem = _createMenuItem(engine.name, null, engine.description);
menuitem.setAttribute("class", "menuitem-iconic"); menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("image", engine.icon); menuitem.setAttribute("image", engine.icon);
@ -98,7 +100,6 @@ var Zotero_LocateMenu = new function() {
menuitem.addEventListener("command", _locateItem, false); menuitem.addEventListener("command", _locateItem, false);
} }
} }
}
} else { } else {
// add "no items selected" // add "no items selected"
menuitem = _createMenuItem(Zotero.getString("pane.item.selected.zero"), "no-items-selected"); menuitem = _createMenuItem(Zotero.getString("pane.item.selected.zero"), "no-items-selected");