Closes #700, Update csledit.xul to use new citation API
Think this works. Reopen if problems.
This commit is contained in:
parent
5e1191b43e
commit
b78b7eb777
|
@ -318,7 +318,6 @@ var Zotero_File_Interface = new function() {
|
||||||
createInstance(Components.interfaces.nsITransferable);
|
createInstance(Components.interfaces.nsITransferable);
|
||||||
var clipboardService = Components.classes["@mozilla.org/widget/clipboard;1"].
|
var clipboardService = Components.classes["@mozilla.org/widget/clipboard;1"].
|
||||||
getService(Components.interfaces.nsIClipboard);
|
getService(Components.interfaces.nsIClipboard);
|
||||||
|
|
||||||
var csl = Zotero.Cite.getStyle(style);
|
var csl = Zotero.Cite.getStyle(style);
|
||||||
var itemSet = csl.generateItemSet(items);
|
var itemSet = csl.generateItemSet(items);
|
||||||
|
|
||||||
|
@ -358,7 +357,7 @@ var Zotero_File_Interface = new function() {
|
||||||
var itemSet = csl.generateItemSet(items);
|
var itemSet = csl.generateItemSet(items);
|
||||||
var itemIDs = [];
|
var itemIDs = [];
|
||||||
for (var i=0; i<items.length; i++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
itemIDs.push(items[i]);
|
itemIDs.push(items[i].getID());
|
||||||
}
|
}
|
||||||
|
|
||||||
// add HTML
|
// add HTML
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function generateBibliography(value) {
|
function generateBibliography(str) {
|
||||||
var iframe = document.getElementById('zotero-csl-preview-box');
|
var iframe = document.getElementById('zotero-csl-preview-box');
|
||||||
|
|
||||||
var items = mainWindow.ZoteroPane.getSelectedItems();
|
var items = mainWindow.ZoteroPane.getSelectedItems();
|
||||||
|
@ -86,18 +86,32 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var csl = new Zotero.CSL(value);
|
if (str.indexOf("<defaults") != -1) {
|
||||||
csl.preprocessItems(items);
|
csl = new Zotero.CSL.Compat(str);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
csl = new Zotero.CSL(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
var itemSet = csl.generateItemSet(items);
|
||||||
|
var itemIDs = [];
|
||||||
|
for (var i=0; i<items.length; i++) {
|
||||||
|
itemIDs.push(items[i].getID());
|
||||||
|
}
|
||||||
|
|
||||||
// Generate single citations
|
// Generate single citations
|
||||||
var citations = '';
|
var citations = '';
|
||||||
for (var i=0; i<items.length; i++) {
|
for (var i=0; i<itemIDs.length; i++) {
|
||||||
citations += csl.createCitation({citationType:1, items:[items[i]] }, "HTML") + '<br/>';
|
var itemID = [];
|
||||||
|
itemID[0] = itemIDs[i];
|
||||||
|
citations += csl.createCitation(itemSet, itemSet.getItemsByIds(itemID), "HTML", 1, null, null) + '<br />';
|
||||||
}
|
}
|
||||||
// Generate multiple citations
|
|
||||||
var multCitations = csl.createCitation({citationType:1, items:items}, "HTML");
|
|
||||||
// Generate bibliography
|
|
||||||
var bibliography = csl.createBibliography(items, "HTML");
|
|
||||||
|
|
||||||
|
// Generate multiple citations
|
||||||
|
var multCitations = csl.createCitation(itemSet, itemSet.getItemsByIds(itemIDs), "HTML", 1, null, null);
|
||||||
|
|
||||||
|
// Generate bibliography
|
||||||
|
var bibliography = csl.createBibliography(itemSet, "HTML");
|
||||||
iframe.contentDocument.documentElement.innerHTML =
|
iframe.contentDocument.documentElement.innerHTML =
|
||||||
citations + '<hr/>' + multCitations + '<hr/>' + bibliography;
|
citations + '<hr/>' + multCitations + '<hr/>' + bibliography;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user