Merge pull request #1222 from adomasven/feature/document-preferences-cleanup
Document preferences cleanup
This commit is contained in:
commit
7d79865023
|
@ -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
|
||||
|
|
|
@ -84,8 +84,5 @@
|
|||
<checkbox id="automaticJournalAbbreviations-checkbox" label="&zotero.integration.prefs.automaticJournalAbbeviations.label;"/>
|
||||
<description class="radioDescription">&zotero.integration.prefs.automaticJournalAbbeviations.caption;</description>
|
||||
</vbox>
|
||||
|
||||
<checkbox id="storeReferences" label="&zotero.integration.prefs.storeReferences.label;"/>
|
||||
<description class="radioDescription">&zotero.integration.prefs.storeReferences.caption;</description>
|
||||
</vbox>
|
||||
</dialog>
|
|
@ -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;
|
||||
|
|
|
@ -226,14 +226,11 @@
|
|||
|
||||
<!ENTITY zotero.integration.prefs.formatUsing.label "Format Using:">
|
||||
<!ENTITY zotero.integration.prefs.bookmarks.label "Bookmarks">
|
||||
<!ENTITY zotero.integration.prefs.bookmarks.caption "Bookmarks are preserved across Microsoft Word and LibreOffice, but may be accidentally modified. For 
compatibility reasons, citations cannot be inserted into footnotes or endnotes when this option is selected.">
|
||||
<!ENTITY zotero.integration.prefs.bookmarks.caption "Bookmarks can be shared between Word and LibreOffice, but may cause errors if accidentally modified and cannot be inserted into footnotes.">
|
||||
|
||||
|
||||
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.label "Automatically abbreviate journal titles">
|
||||
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.caption "MEDLINE journal abbreviations will be automatically generated using journal titles. The “Journal Abbr” field will be ignored.">
|
||||
|
||||
<!ENTITY zotero.integration.prefs.storeReferences.label "Store references in document">
|
||||
<!ENTITY zotero.integration.prefs.storeReferences.caption "Storing references in your document slightly increases file size, but will allow you to share your document with others without using a Zotero group. Zotero 3.0 or later is required to update documents created with this option.">
|
||||
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.label "Use MEDLINE journal abbreviations">
|
||||
<!ENTITY zotero.integration.prefs.automaticJournalAbbeviations.caption "The “Journal Abbr” field will be ignored.">
|
||||
|
||||
<!ENTITY zotero.integration.showEditor.label "Show Editor">
|
||||
<!ENTITY zotero.integration.classicView.label "Classic View">
|
||||
|
|
|
@ -785,12 +785,12 @@ annotations.collapse.tooltip = Collapse Annotation
|
|||
annotations.expand.tooltip = Expand Annotation
|
||||
annotations.oneWindowWarning = Annotations for a snapshot may only be opened in one browser window simultaneously. This snapshot will be opened without annotations.
|
||||
|
||||
integration.fields.label = Fields
|
||||
integration.referenceMarks.label = ReferenceMarks
|
||||
integration.fields.caption = Microsoft Word Fields are less likely to be accidentally modified, but cannot be shared with OpenOffice.
|
||||
integration.fields.fileFormatNotice = The document must be saved in the .doc or .docx file format.
|
||||
integration.referenceMarks.caption = OpenOffice ReferenceMarks are less likely to be accidentally modified, but cannot be shared with Microsoft Word.
|
||||
integration.referenceMarks.fileFormatNotice = The document must be saved in the .odt file format.
|
||||
integration.fields.label = Fields (recommended)
|
||||
integration.referenceMarks.label = ReferenceMarks (recommended)
|
||||
integration.fields.caption = Fields cannot be shared with LibreOffice.
|
||||
integration.fields.fileFormatNotice = The document must be saved in the .doc or .docx.
|
||||
integration.referenceMarks.caption = ReferenceMarks cannot be shared with Word.
|
||||
integration.referenceMarks.fileFormatNotice = The document must be saved in the .odt.
|
||||
|
||||
integration.regenerate.title = Do you want to regenerate the citation?
|
||||
integration.regenerate.body = The changes you have made in the citation editor will be lost.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#style-listbox
|
||||
{
|
||||
height: 72pt;
|
||||
height: 180pt;
|
||||
width: 300pt;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 = "<data data-version=\"3\" zotero-version=\"5.0.SOURCE\"><session id=\"F0NFmZ32\"/><style id=\"http://www.zotero.org/styles/cell\" hasBibliography=\"1\" bibliographyStyleHasBeenSet=\"1\"/><prefs><pref name=\"fieldType\" value=\"ReferenceMark\"/><pref name=\"storeReferences\" value=\"true\"/><pref name=\"automaticJournalAbbreviations\" value=\"true\"/><pref name=\"noteType\" value=\"0\"/></prefs></data>";
|
||||
var serializedXMLData = "<data data-version=\"3\" zotero-version=\"5.0.SOURCE\"><session id=\"F0NFmZ32\"/><style id=\"http://www.zotero.org/styles/cell\" hasBibliography=\"1\" bibliographyStyleHasBeenSet=\"1\"/><prefs><pref name=\"fieldType\" value=\"ReferenceMark\"/><pref name=\"automaticJournalAbbreviations\" value=\"true\"/><pref name=\"noteType\" value=\"0\"/></prefs></data>";
|
||||
var data = new Zotero.Integration.DocumentData(serializedXMLData);
|
||||
var expectedData = {
|
||||
style: {
|
||||
|
@ -487,7 +485,6 @@ describe("Zotero.Integration", function () {
|
|||
},
|
||||
prefs: {
|
||||
fieldType: 'ReferenceMark',
|
||||
storeReferences: true,
|
||||
automaticJournalAbbreviations: true,
|
||||
noteType: 0
|
||||
},
|
||||
|
@ -509,7 +506,6 @@ describe("Zotero.Integration", function () {
|
|||
},
|
||||
prefs: {
|
||||
fieldType: 'ReferenceMark',
|
||||
storeReferences: true,
|
||||
automaticJournalAbbreviations: false,
|
||||
noteType: 0
|
||||
},
|
||||
|
@ -537,7 +533,6 @@ describe("Zotero.Integration", function () {
|
|||
data.prefs = {
|
||||
noteType: 1,
|
||||
fieldType: "Field",
|
||||
storeReferences: true,
|
||||
automaticJournalAbbreviations: true
|
||||
};
|
||||
|
||||
|
@ -574,7 +569,6 @@ describe("Zotero.Integration", function () {
|
|||
data.prefs = {
|
||||
noteType: 1,
|
||||
fieldType: "Field",
|
||||
storeReferences: true,
|
||||
automaticJournalAbbreviations: true
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user