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);
|
||||
var clipboardService = Components.classes["@mozilla.org/widget/clipboard;1"].
|
||||
getService(Components.interfaces.nsIClipboard);
|
||||
|
||||
var csl = Zotero.Cite.getStyle(style);
|
||||
var itemSet = csl.generateItemSet(items);
|
||||
|
||||
|
@ -358,7 +357,7 @@ var Zotero_File_Interface = new function() {
|
|||
var itemSet = csl.generateItemSet(items);
|
||||
var itemIDs = [];
|
||||
for (var i=0; i<items.length; i++) {
|
||||
itemIDs.push(items[i]);
|
||||
itemIDs.push(items[i].getID());
|
||||
}
|
||||
|
||||
// add HTML
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
}
|
||||
|
||||
|
||||
function generateBibliography(value) {
|
||||
function generateBibliography(str) {
|
||||
var iframe = document.getElementById('zotero-csl-preview-box');
|
||||
|
||||
var items = mainWindow.ZoteroPane.getSelectedItems();
|
||||
|
@ -86,18 +86,32 @@
|
|||
return;
|
||||
}
|
||||
|
||||
var csl = new Zotero.CSL(value);
|
||||
csl.preprocessItems(items);
|
||||
if (str.indexOf("<defaults") != -1) {
|
||||
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
|
||||
var citations = '';
|
||||
for (var i=0; i<items.length; i++) {
|
||||
citations += csl.createCitation({citationType:1, items:[items[i]] }, "HTML") + '<br/>';
|
||||
for (var i=0; i<itemIDs.length; i++) {
|
||||
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 =
|
||||
citations + '<hr/>' + multCitations + '<hr/>' + bibliography;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user