Merge branch '3.0'

This commit is contained in:
Simon Kornblith 2011-12-04 13:20:11 -05:00
commit e57658c5e2
5 changed files with 26 additions and 27 deletions

View File

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

View File

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

View File

@ -103,6 +103,7 @@
this._constructed = true;
// Don't load if a value hasn't yet been set
if (this._loadOnConstruct) {
this._load();
}

View File

@ -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() : []);

View File

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