Merge branch '3.0'
This commit is contained in:
commit
e57658c5e2
|
@ -297,7 +297,7 @@
|
|||
}
|
||||
|
||||
// Note editor
|
||||
var noteEditor = this._id('note-editor');
|
||||
var noteEditor = this._id('attachment-note-editor');
|
||||
if (this.displayNote) {
|
||||
if (this.displayNoteIfEmpty || this.item.getNote() != '') {
|
||||
Zotero.debug("setting links on top");
|
||||
|
@ -542,7 +542,7 @@
|
|||
</rows>
|
||||
</grid>
|
||||
|
||||
<zoteronoteeditor id="note-editor" notitle="1" flex="1"/>
|
||||
<zoteronoteeditor id="attachment-note-editor" notitle="1" flex="1"/>
|
||||
|
||||
<button id="select-button" hidden="true"/>
|
||||
</vbox>
|
||||
|
|
|
@ -216,9 +216,13 @@
|
|||
<method name="save">
|
||||
<body>
|
||||
<![CDATA[
|
||||
var noteField = this._id('noteField');
|
||||
if (this._mode == 'view') {
|
||||
Zotero.debug("Not saving read-only note");
|
||||
return;
|
||||
}
|
||||
|
||||
// Update note
|
||||
var noteField = this._id('noteField');
|
||||
if (this.item) {
|
||||
// If note is reselected automatically after save
|
||||
// from external note window, don't overwrite content
|
||||
|
@ -493,7 +497,7 @@
|
|||
</method>
|
||||
</implementation>
|
||||
<content>
|
||||
<xul:vbox id="note-editor" xbl:inherits="flex">
|
||||
<xul:vbox xbl:inherits="flex">
|
||||
<xul:grid>
|
||||
<xul:columns>
|
||||
<xul:column/>
|
||||
|
|
|
@ -103,6 +103,7 @@
|
|||
|
||||
this._constructed = true;
|
||||
|
||||
// Don't load if a value hasn't yet been set
|
||||
if (this._loadOnConstruct) {
|
||||
this._load();
|
||||
}
|
||||
|
|
|
@ -162,7 +162,7 @@ var Zotero_QuickFormat = new function () {
|
|||
var str = _getEditorContent();
|
||||
var haveConditions = false;
|
||||
|
||||
const specifiedLocatorRe = /(?:,? *(pp|p)(?:\. *| +)|:)([0-9\-]+) *$/;
|
||||
const specifiedLocatorRe = /^(?:,? *(pp|p)(?:\. *| +)|:)([0-9\-]+) *$/;
|
||||
const yearPageLocatorRe = /,? *([0-9]+) *((B[. ]*C[. ]*|B[. ]*)|[AC][. ]*|A[. ]*D[. ]*|C[. ]*E[. ]*)?,? *(?:([0-9\-]+))?$/i;
|
||||
const creatorSplitRe = /(?:,| *(?:and|\&)) +/;
|
||||
const charRe = /[\w\u007F-\uFFFF]/;
|
||||
|
@ -230,22 +230,16 @@ var Zotero_QuickFormat = new function () {
|
|||
|
||||
str = str.substr(0, m.index)+str.substring(m.index+m[0].length);
|
||||
}
|
||||
if(year) str += " "+year;
|
||||
|
||||
var s = new Zotero.Search();
|
||||
str = str.replace(" & ", " ", "g").replace(" and ", " ", "g");
|
||||
if(charRe.test(str)) {
|
||||
Zotero.debug("QuickFormat: QuickSearch: "+str);
|
||||
s.addCondition("quicksearch-titlesAndCreators", "contains", str);
|
||||
s.addCondition("quicksearch-titleCreatorYear", "contains", str);
|
||||
s.addCondition("itemType", "isNot", "attachment");
|
||||
haveConditions = true;
|
||||
}
|
||||
|
||||
if(year) {
|
||||
Zotero.debug("QuickFormat: Year: "+year);
|
||||
s.addCondition("date", "isAfter", (year-1)+"-12-31 23:59:59");
|
||||
s.addCondition("date", "isBefore", (year)+"-12-31 23:59:59");
|
||||
haveConditions = true;
|
||||
}
|
||||
}
|
||||
|
||||
var ids = (haveConditions ? s.search() : []);
|
||||
|
|
|
@ -262,7 +262,7 @@ Zotero.Annotate = new function() {
|
|||
function _seen(node,array) {
|
||||
var seen = false;
|
||||
for (n in array) {
|
||||
if (node.isSameNode(array[n])) {
|
||||
if (node === array[n]) {
|
||||
var seen = true;
|
||||
}
|
||||
}
|
||||
|
@ -389,7 +389,7 @@ Zotero.Annotate.Path.prototype.fromNode = function(node, offset) {
|
|||
}
|
||||
if(!node) throw "Annotate: Path() resolved text offset inappropriately";
|
||||
|
||||
while(node && !node.isSameNode(this._document)) {
|
||||
while(node && !node === this._document) {
|
||||
var number = 1;
|
||||
var sibling = node.previousSibling;
|
||||
while(sibling) {
|
||||
|
@ -1378,7 +1378,7 @@ Zotero.Highlight.prototype.unhighlight = function(container, offset, path, mode)
|
|||
if(!span) continue;
|
||||
var parentNode = span.parentNode;
|
||||
|
||||
if(mode != 0 && span.isSameNode(container.parentNode) && offset != 0) {
|
||||
if(mode != 0 && span === container.parentNode && offset != 0) {
|
||||
if(mode == 1) {
|
||||
// split text node
|
||||
var textNode = container.splitText(offset);
|
||||
|
@ -1387,7 +1387,7 @@ Zotero.Highlight.prototype.unhighlight = function(container, offset, path, mode)
|
|||
// loop through, removing nodes
|
||||
var node = span.firstChild;
|
||||
|
||||
while(span.firstChild && !span.firstChild.isSameNode(textNode)) {
|
||||
while(span.firstChild && !span.firstChild === textNode) {
|
||||
parentNode.insertBefore(span.removeChild(span.firstChild), span);
|
||||
}
|
||||
} else if(mode == 2) {
|
||||
|
@ -1435,25 +1435,25 @@ Zotero.Highlight.prototype._highlight = function() {
|
|||
|
||||
var ancestor = this.range.commonAncestorContainer;
|
||||
|
||||
var onlyOneNode = startNode.isSameNode(endNode);
|
||||
var onlyOneNode = startNode === endNode;
|
||||
|
||||
if(!onlyOneNode && !startNode.isSameNode(ancestor) && !endNode.isSameNode(ancestor)) {
|
||||
if(!onlyOneNode && !startNode === ancestor && !endNode === ancestor) {
|
||||
// highlight nodes after start node in the DOM hierarchy not at ancestor level
|
||||
while(startNode.parentNode && !startNode.parentNode.isSameNode(ancestor)) {
|
||||
while(startNode.parentNode && !startNode.parentNode === ancestor) {
|
||||
if(startNode.nextSibling) {
|
||||
this._highlightSpaceBetween(startNode.nextSibling, startNode.parentNode.lastChild);
|
||||
}
|
||||
startNode = startNode.parentNode
|
||||
}
|
||||
// highlight nodes after end node in the DOM hierarchy not at ancestor level
|
||||
while(endNode.parentNode && !endNode.parentNode.isSameNode(ancestor)) {
|
||||
while(endNode.parentNode && !endNode.parentNode === ancestor) {
|
||||
if(endNode.previousSibling) {
|
||||
this._highlightSpaceBetween(endNode.parentNode.firstChild, endNode.previousSibling);
|
||||
}
|
||||
endNode = endNode.parentNode
|
||||
}
|
||||
// highlight nodes between start node and end node at ancestor level
|
||||
if(!startNode.isSameNode(endNode.previousSibling)) {
|
||||
if(!startNode === endNode.previousSibling) {
|
||||
this._highlightSpaceBetween(startNode.nextSibling, endNode.previousSibling);
|
||||
}
|
||||
}
|
||||
|
@ -1531,10 +1531,10 @@ Zotero.Highlight.prototype._highlightTextNode = function(textNode) {
|
|||
// look for span in this.spans and delete it if it's there
|
||||
var span = previousSiblingHighlighted ? previousSibling : nextSibling;
|
||||
for(var i=0; i<this.spans.length; i++) {
|
||||
if(parent.isSameNode(this.spans[i])) {
|
||||
if(parent === this.spans[i]) {
|
||||
this.spans.splice(i, 1);
|
||||
i--;
|
||||
} else if(span.isSameNode(this.spans[i])) {
|
||||
} else if(span === this.spans[i]) {
|
||||
saveSpan = false;
|
||||
}
|
||||
}
|
||||
|
@ -1546,14 +1546,14 @@ Zotero.Highlight.prototype._highlightTextNode = function(textNode) {
|
|||
|
||||
var span = previousSibling;
|
||||
for(var i=0; i<this.spans.length; i++) {
|
||||
if(span.isSameNode(this.spans[i])) saveSpan = false;
|
||||
if(span === this.spans[i]) saveSpan = false;
|
||||
}
|
||||
} else if(nextSiblingHighlighted) {
|
||||
nextSibling.insertBefore(parent.removeChild(textNode), nextSibling.firstChild);
|
||||
|
||||
var span = nextSibling;
|
||||
for(var i=0; i<this.spans.length; i++) {
|
||||
if(span.isSameNode(this.spans[i])) saveSpan = false;
|
||||
if(span === this.spans[i]) saveSpan = false;
|
||||
}
|
||||
} else {
|
||||
var previousSibling = textNode.previousSibling;
|
||||
|
@ -1607,7 +1607,7 @@ Zotero.Highlight.prototype._highlightSpaceBetween = function(start, end) {
|
|||
}
|
||||
|
||||
// do this in the middle, after we're finished with node but before we add any spans
|
||||
if(node.isSameNode(end)) {
|
||||
if(node === end) {
|
||||
node = false;
|
||||
} else {
|
||||
node = node.nextSibling;
|
||||
|
|
Loading…
Reference in New Issue
Block a user