Closes #700, Update csledit.xul to use new citation API

Think this works. Reopen if problems.
This commit is contained in:
Dan Stillman 2007-08-07 19:10:47 +00:00
parent 5e1191b43e
commit b78b7eb777
2 changed files with 24 additions and 11 deletions

View File

@ -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

View File

@ -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;
}