Merge pull request #191 from aurimasv/preselect

Allow translators to pre-select items in the "multiple" select item dialog.
This commit is contained in:
Simon Kornblith 2012-12-19 16:50:37 -08:00
commit 87199f6011
2 changed files with 22 additions and 4 deletions

View file

@ -47,11 +47,21 @@ Zotero_Ingester_Interface_SelectItems.init = function() {
var listbox = document.getElementById("zotero-selectitems-links"); var listbox = document.getElementById("zotero-selectitems-links");
for(var i in this.io.dataIn) { // we could use a tree for this if we wanted to for(var i in this.io.dataIn) { // we could use a tree for this if we wanted to
var item = this.io.dataIn[i];
var title, checked = false;
if(item && typeof(item) == "object" && item.title !== undefined) {
title = item.title;
checked = !!item.checked;
} else {
title = item;
}
var itemNode = document.createElement("listitem"); var itemNode = document.createElement("listitem");
itemNode.setAttribute("type", "checkbox"); itemNode.setAttribute("type", "checkbox");
itemNode.setAttribute("value", i); itemNode.setAttribute("value", i);
itemNode.setAttribute("label", this.io.dataIn[i]); itemNode.setAttribute("label", title);
itemNode.setAttribute("checked", false); itemNode.setAttribute("checked", checked);
listbox.appendChild(itemNode); listbox.appendChild(itemNode);
} }
} }

View file

@ -422,7 +422,11 @@ Zotero_TranslatorTester.prototype.runTest = function(test, doc, testDoneCallback
var newItems = {}; var newItems = {};
var haveItems = false; var haveItems = false;
for(var i in items) { for(var i in items) {
if(items[i] && typeof(items[i]) == "object" && items[i].title !== undefined) {
newItems[i] = items[i].title;
} else {
newItems[i] = items[i]; newItems[i] = items[i];
}
haveItems = true; haveItems = true;
// only save one item if "items":"multiple" (as opposed to an array of items) // only save one item if "items":"multiple" (as opposed to an array of items)
@ -546,7 +550,11 @@ Zotero_TranslatorTester.prototype.newTest = function(doc, testReadyCallback) {
var newItems = {}; var newItems = {};
for(var i in items) { for(var i in items) {
if(items[i] && typeof(items[i]) == "object" && items[i].title !== undefined) {
newItems[i] = items[i].title;
} else {
newItems[i] = items[i]; newItems[i] = items[i];
}
break; break;
} }