don't show menu separator when no locate engines are available
This commit is contained in:
parent
8af3a30fa4
commit
c7e92b6e16
1 changed files with 21 additions and 20 deletions
|
@ -76,27 +76,28 @@ var Zotero_LocateMenu = new function() {
|
|||
|
||||
// check for custom locate engines
|
||||
var customEngines = Zotero.LocateManager.getVisibleEngines();
|
||||
if(customEngines.length) {
|
||||
var availableEngines = [];
|
||||
|
||||
// check which engines can translate an item
|
||||
for each(var engine in customEngines) {
|
||||
// require a submission for at least one selected item
|
||||
for each(var item in selectedItems) {
|
||||
if(engine.getItemSubmission(item)) {
|
||||
availableEngines.push(engine);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add engines that are available for selected items
|
||||
if(availableEngines.length) {
|
||||
locateMenu.appendChild(document.createElement("menuseparator"));
|
||||
|
||||
// add engines to menu
|
||||
for each(var engine in customEngines) {
|
||||
// require a submission for at least one selected item
|
||||
var canSubmit = false;
|
||||
for each(var item in selectedItems) {
|
||||
if(engine.getItemSubmission(item)) {
|
||||
canSubmit = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(canSubmit) {
|
||||
var menuitem = _createMenuItem(engine.name, null, engine.description);
|
||||
menuitem.setAttribute("class", "menuitem-iconic");
|
||||
menuitem.setAttribute("image", engine.icon);
|
||||
locateMenu.appendChild(menuitem);
|
||||
menuitem.addEventListener("command", _locateItem, false);
|
||||
}
|
||||
for each(var engine in availableEngines) {
|
||||
var menuitem = _createMenuItem(engine.name, null, engine.description);
|
||||
menuitem.setAttribute("class", "menuitem-iconic");
|
||||
menuitem.setAttribute("image", engine.icon);
|
||||
locateMenu.appendChild(menuitem);
|
||||
menuitem.addEventListener("command", _locateItem, false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Reference in a new issue