From 3c19bbffe477a8075874c6f1408f0f283b6db670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adomas=20Ven=C4=8Dkauskas?= Date: Tue, 2 May 2017 16:29:19 +0300 Subject: [PATCH 1/2] Remove store references in document option. Closes #1216 --- chrome/content/zotero/bibliography.js | 7 ----- .../integration/integrationDocPrefs.xul | 3 -- chrome/content/zotero/xpcom/integration.js | 30 ++++--------------- chrome/locale/en-US/zotero/zotero.dtd | 3 -- test/tests/integrationTest.js | 8 +---- 5 files changed, 6 insertions(+), 45 deletions(-) diff --git a/chrome/content/zotero/bibliography.js b/chrome/content/zotero/bibliography.js index 85b3fc35d7..4c23c1efdf 100644 --- a/chrome/content/zotero/bibliography.js +++ b/chrome/content/zotero/bibliography.js @@ -166,12 +166,6 @@ var Zotero_File_Interface_Bibliography = new function() { document.getElementById("automaticJournalAbbreviations-checkbox").checked = true; } } - if(document.getElementById("storeReferences")) { - if(_io.storeReferences || _io.storeReferences === undefined) { - document.getElementById("storeReferences").checked = true; - if(_io.requireStoreReferences) document.getElementById("storeReferences").disabled = true; - } - } // set style to false, in case this is cancelled _io.style = false; @@ -271,7 +265,6 @@ var Zotero_File_Interface_Bibliography = new function() { } _io.useEndnotes = document.getElementById("displayAs").selectedIndex; _io.fieldType = (document.getElementById("formatUsing").selectedIndex == 0 ? _io.primaryFieldType : _io.secondaryFieldType); - _io.storeReferences = document.getElementById("storeReferences").checked; } // remember style and locale if user selected these explicitly diff --git a/chrome/content/zotero/integration/integrationDocPrefs.xul b/chrome/content/zotero/integration/integrationDocPrefs.xul index a67dad658c..50f90205e9 100644 --- a/chrome/content/zotero/integration/integrationDocPrefs.xul +++ b/chrome/content/zotero/integration/integrationDocPrefs.xul @@ -84,8 +84,5 @@ &zotero.integration.prefs.automaticJournalAbbeviations.caption; - - - &zotero.integration.prefs.storeReferences.caption; \ No newline at end of file diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js index db2d609f11..00d34568be 100644 --- a/chrome/content/zotero/xpcom/integration.js +++ b/chrome/content/zotero/xpcom/integration.js @@ -1242,10 +1242,6 @@ Zotero.Integration.Document.prototype.setDocPrefs = function() { if(!haveSession) { // This is a brand new document; don't try to get fields return setDocPrefs(); - } else if(me._session.reload) { - // Always reload before setDocPrefs so we can permit/deny unchecking storeReferences as - // appropriate - return fieldGetter.updateSession().then(setDocPrefs); } else { // Can get fields while dialog is open return Zotero.Promise.all([ @@ -1691,9 +1687,7 @@ Zotero.Integration.Fields.prototype._updateDocument = function* (forceCitations, var fieldCode = this._session.getCitationField(citation); if(fieldCode != citation.properties.field) { - field.setCode( - (this._session.data.prefs.storeReferences ? "ITEM CSL_CITATION" : "ITEM") - +" "+fieldCode); + field.setCode(`ITEM CSL_CITATION ${fieldCode}`); if(this._session.data.prefs.fieldType === "ReferenceMark" && isRich && !citation.properties.dontUpdate) { @@ -1715,8 +1709,7 @@ Zotero.Integration.Fields.prototype._updateDocument = function* (forceCitations, if(forceBibliography || this._session.bibliographyDataHasChanged) { var bibliographyData = this._session.getBibliographyData(); for (let field of bibliographyFields) { - field.setCode("BIBL "+bibliographyData - +(this._session.data.prefs.storeReferences ? " CSL_BIBLIOGRAPHY" : "")); + field.setCode(`BIBL ${bibliographyData} CSL_BIBLIOGRAPHY`); } } @@ -2173,7 +2166,6 @@ Zotero.Integration.Session.prototype.setDocPrefs = Zotero.Promise.coroutine(func io.fieldType = this.data.prefs.fieldType; io.primaryFieldType = primaryFieldType; io.secondaryFieldType = secondaryFieldType; - io.storeReferences = this.data.prefs.storeReferences; io.automaticJournalAbbreviations = this.data.prefs.automaticJournalAbbreviations; io.requireStoreReferences = !Zotero.Utilities.isEmpty(this.embeddedItems); } @@ -2194,7 +2186,6 @@ Zotero.Integration.Session.prototype.setDocPrefs = Zotero.Promise.coroutine(func data.style.styleID = io.style; data.style.locale = io.locale; data.prefs.fieldType = io.fieldType; - data.prefs.storeReferences = io.storeReferences; data.prefs.automaticJournalAbbreviations = io.automaticJournalAbbreviations; var forceStyleReset = oldData @@ -2254,7 +2245,6 @@ Zotero.Integration.Session.prototype.getCitationField = function(citation) { const saveProperties = ["custom", "unsorted", "formattedCitation", "plainCitation", "dontUpdate"]; const saveCitationItemKeys = ["locator", "label", "suppress-author", "author-only", "prefix", "suffix"]; - var addSchema = false; var type; var field = []; @@ -2285,7 +2275,6 @@ Zotero.Integration.Session.prototype.getCitationField = function(citation) { // always store itemData, since we have no way to get it back otherwise serializeCitationItem.itemData = citationItem.itemData; - addSchema = true; } else { serializeCitationItem.id = citationItem.id; serializeCitationItem.uris = this.uriMap.getURIsForItemID(citationItem.id); @@ -2293,11 +2282,7 @@ Zotero.Integration.Session.prototype.getCitationField = function(citation) { // XXX For compatibility with older versions of Zotero; to be removed at a later date serializeCitationItem.uri = serializeCitationItem.uris; - // add itemData only if requested - if(this.data.prefs.storeReferences) { - serializeCitationItem.itemData = this.style.sys.retrieveItem(citationItem.id); - addSchema = true; - } + serializeCitationItem.itemData = this.style.sys.retrieveItem(citationItem.id); } // copy saveCitationItemKeys @@ -2310,10 +2295,7 @@ Zotero.Integration.Session.prototype.getCitationField = function(citation) { citationItems[j] = JSON.stringify(serializeCitationItem); } field.push('"citationItems":['+citationItems.join(",")+"]"); - - if(addSchema) { - field.push('"schema":"https://github.com/citation-style-language/schema/raw/master/csl-citation.json"'); - } + field.push('"schema":"https://github.com/citation-style-language/schema/raw/master/csl-citation.json"'); return "{"+field.join(",")+"}"; } @@ -3146,7 +3128,6 @@ Zotero.Integration.DocumentData.prototype.unserializeXML = function(xmlData) { } catch (e) { this.prefs.noteType = 0; } - if (this.prefs["storeReferences"] === undefined) this.prefs["storeReferences"] = false; if (this.prefs["automaticJournalAbbreviations"] === undefined) this.prefs["automaticJournalAbbreviations"] = false; this.zoteroVersion = doc.documentElement.getAttribute("zotero-version"); if (!this.zoteroVersion) this.zoteroVersion = "2.0"; @@ -3180,8 +3161,7 @@ Zotero.Integration.DocumentData.prototype.unserialize = function(input) { this.style = {"styleID":prefParameters[1], "hasBibliography":(prefParameters[3] == "1" || prefParameters[3] == "True"), "bibliographyStyleHasBeenSet":false}; - this.prefs = {"fieldType":((prefParameters[5] == "1" || prefParameters[5] == "True") ? "Bookmark" : "Field"), - "storeReferences":false}; + this.prefs = {"fieldType":((prefParameters[5] == "1" || prefParameters[5] == "True") ? "Bookmark" : "Field")}; if(prefParameters[2] == "note") { if(prefParameters[4] == "1" || prefParameters[4] == "True") { this.prefs.noteType = NOTE_ENDNOTE; diff --git a/chrome/locale/en-US/zotero/zotero.dtd b/chrome/locale/en-US/zotero/zotero.dtd index 4f195ad920..fab246f143 100644 --- a/chrome/locale/en-US/zotero/zotero.dtd +++ b/chrome/locale/en-US/zotero/zotero.dtd @@ -232,9 +232,6 @@ - - - diff --git a/test/tests/integrationTest.js b/test/tests/integrationTest.js index 9749f2a3ad..46bfea44eb 100644 --- a/test/tests/integrationTest.js +++ b/test/tests/integrationTest.js @@ -252,7 +252,6 @@ describe("Zotero.Integration", function () { data.prefs = { noteType: 0, fieldType: "Field", - storeReferences: true, automaticJournalAbbreviations: true }; data.style = {styleID, locale: 'en-US', hasBibliography: true, bibliographyStyleHasBeenSet: true}; @@ -266,7 +265,6 @@ describe("Zotero.Integration", function () { style: "http://www.zotero.org/styles/cell", locale: 'en-US', fieldType: 'Field', - storeReferences: true, automaticJournalAbbreviations: false, useEndnotes: 0 }; @@ -476,7 +474,7 @@ describe("Zotero.Integration", function () { describe("DocumentData", function() { it('should properly unserialize old XML document data', function() { - var serializedXMLData = "