Merge branch 'v3' of https://github.com/zixaphir/appchan-x
This commit is contained in:
commit
5ce2c53f14
@ -4438,7 +4438,7 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
node: function() {
|
node: function() {
|
||||||
var data, el, end, endNode, i, index, items, lIndex, len, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
|
var data, el, end, endNode, i, index, items, length, link, links, node, range, result, saved, snapshot, space, test, _i, _len, _ref;
|
||||||
|
|
||||||
if (this.isClone) {
|
if (this.isClone) {
|
||||||
if (Conf['Embedding']) {
|
if (Conf['Embedding']) {
|
||||||
@ -4483,18 +4483,14 @@
|
|||||||
test.lastIndex = 0;
|
test.lastIndex = 0;
|
||||||
}
|
}
|
||||||
range = Linkify.makeRange(node, endNode, index, length);
|
range = Linkify.makeRange(node, endNode, index, length);
|
||||||
if (link = Linkify.regString.exec(text = range.toString())) {
|
if (link = Linkify.regString.exec(range.toString())) {
|
||||||
if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
|
links.push(range);
|
||||||
range.setStart(node, len);
|
|
||||||
}
|
|
||||||
text = text.slice(0, lIndex);
|
|
||||||
links.push([range, text]);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
if (link = Linkify.regString.exec(result[0])) {
|
if (link = Linkify.regString.exec(result[0])) {
|
||||||
range = Linkify.makeRange(node, node, index + link.index, length + link.index);
|
range = Linkify.makeRange(node, node, index + link.index, length + link.index);
|
||||||
links.push([range, link]);
|
links.push(range);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4528,11 +4524,21 @@
|
|||||||
range.setEnd(endNode, endOffset);
|
range.setEnd(endNode, endOffset);
|
||||||
return range;
|
return range;
|
||||||
},
|
},
|
||||||
makeLink: function(_arg) {
|
makeLink: function(range) {
|
||||||
var a, range, text;
|
var a, check, text;
|
||||||
|
|
||||||
range = _arg[0], text = _arg[1];
|
text = range.toString();
|
||||||
text;
|
if (/[(\[{<]/.test(text.charAt(0))) {
|
||||||
|
if (check = /[\)\]}>]/.test(text.charAt(text.length - 1))) {
|
||||||
|
if (!(range.endOffset < 1)) {
|
||||||
|
range.setEnd(range.endContainer, range.endOffset - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
text = check ? text.slice(1, -1) : text.slice(1);
|
||||||
|
if (range.startOffset !== range.startContainer.data.length) {
|
||||||
|
range.setStart(range.startContainer, range.startOffset + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
text = text.contains(':') ? text : (text.contains('@') ? 'mailto:' : 'http://') + text;
|
text = text.contains(':') ? text : (text.contains('@') ? 'mailto:' : 'http://') + text;
|
||||||
a = $.el('a', {
|
a = $.el('a', {
|
||||||
className: 'linkify',
|
className: 'linkify',
|
||||||
|
|||||||
@ -4444,7 +4444,7 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
node: function() {
|
node: function() {
|
||||||
var data, el, end, endNode, i, index, items, lIndex, len, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
|
var data, el, end, endNode, i, index, items, length, link, links, node, range, result, saved, snapshot, space, test, _i, _len, _ref;
|
||||||
|
|
||||||
if (this.isClone) {
|
if (this.isClone) {
|
||||||
if (Conf['Embedding']) {
|
if (Conf['Embedding']) {
|
||||||
@ -4489,18 +4489,14 @@
|
|||||||
test.lastIndex = 0;
|
test.lastIndex = 0;
|
||||||
}
|
}
|
||||||
range = Linkify.makeRange(node, endNode, index, length);
|
range = Linkify.makeRange(node, endNode, index, length);
|
||||||
if (link = Linkify.regString.exec(text = range.toString())) {
|
if (link = Linkify.regString.exec(range.toString())) {
|
||||||
if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
|
links.push(range);
|
||||||
range.setStart(node, len);
|
|
||||||
}
|
|
||||||
text = text.slice(0, lIndex);
|
|
||||||
links.push([range, text]);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
if (link = Linkify.regString.exec(result[0])) {
|
if (link = Linkify.regString.exec(result[0])) {
|
||||||
range = Linkify.makeRange(node, node, index + link.index, length + link.index);
|
range = Linkify.makeRange(node, node, index + link.index, length + link.index);
|
||||||
links.push([range, link]);
|
links.push(range);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4534,11 +4530,21 @@
|
|||||||
range.setEnd(endNode, endOffset);
|
range.setEnd(endNode, endOffset);
|
||||||
return range;
|
return range;
|
||||||
},
|
},
|
||||||
makeLink: function(_arg) {
|
makeLink: function(range) {
|
||||||
var a, range, text;
|
var a, check, text;
|
||||||
|
|
||||||
range = _arg[0], text = _arg[1];
|
text = range.toString();
|
||||||
text;
|
if (/[(\[{<]/.test(text.charAt(0))) {
|
||||||
|
if (check = /[\)\]}>]/.test(text.charAt(text.length - 1))) {
|
||||||
|
if (!(range.endOffset < 1)) {
|
||||||
|
range.setEnd(range.endContainer, range.endOffset - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
text = check ? text.slice(1, -1) : text.slice(1);
|
||||||
|
if (range.startOffset !== range.startContainer.data.length) {
|
||||||
|
range.setStart(range.startContainer, range.startOffset + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
text = text.contains(':') ? text : (text.contains('@') ? 'mailto:' : 'http://') + text;
|
text = text.contains(':') ? text : (text.contains('@') ? 'mailto:' : 'http://') + text;
|
||||||
a = $.el('a', {
|
a = $.el('a', {
|
||||||
className: 'linkify',
|
className: 'linkify',
|
||||||
|
|||||||
@ -75,17 +75,13 @@ Linkify =
|
|||||||
|
|
||||||
test.lastIndex = 0 if length is endNode.data.length
|
test.lastIndex = 0 if length is endNode.data.length
|
||||||
range = Linkify.makeRange node, endNode, index, length
|
range = Linkify.makeRange node, endNode, index, length
|
||||||
if link = Linkify.regString.exec text = range.toString()
|
links.push range if link = Linkify.regString.exec range.toString()
|
||||||
if (lIndex = link.index) and (len = lIndex + index) < node.data.length
|
|
||||||
range.setStart node, len
|
|
||||||
text = text[...lIndex]
|
|
||||||
links.push [range, text]
|
|
||||||
break
|
break
|
||||||
|
|
||||||
else
|
else
|
||||||
if link = Linkify.regString.exec result[0]
|
if link = Linkify.regString.exec result[0]
|
||||||
range = Linkify.makeRange node, node, index + link.index, length + link.index
|
range = Linkify.makeRange node, node, index + link.index, length + link.index
|
||||||
links.push [range, link]
|
links.push range
|
||||||
|
|
||||||
for range in links.reverse()
|
for range in links.reverse()
|
||||||
@nodes.links.push Linkify.makeLink range, @
|
@nodes.links.push Linkify.makeLink range, @
|
||||||
@ -103,12 +99,25 @@ Linkify =
|
|||||||
|
|
||||||
makeRange: (startNode, endNode, startOffset, endOffset) ->
|
makeRange: (startNode, endNode, startOffset, endOffset) ->
|
||||||
range = document.createRange();
|
range = document.createRange();
|
||||||
range.setStart startNode, startOffset
|
range.setStart startNode, startOffset
|
||||||
range.setEnd endNode, endOffset
|
range.setEnd endNode, endOffset
|
||||||
range
|
range
|
||||||
|
|
||||||
makeLink: ([range, text]) ->
|
makeLink: (range) ->
|
||||||
text
|
text = range.toString()
|
||||||
|
|
||||||
|
# Clean brackets
|
||||||
|
if /[(\[{<]/.test text.charAt 0
|
||||||
|
if check = /[\)\]}>]/.test text.charAt text.length - 1
|
||||||
|
unless range.endOffset < 1
|
||||||
|
range.setEnd range.endContainer, range.endOffset - 1
|
||||||
|
text = if check
|
||||||
|
text.slice 1, -1
|
||||||
|
else
|
||||||
|
text.slice 1
|
||||||
|
unless range.startOffset is range.startContainer.data.length
|
||||||
|
range.setStart range.startContainer, range.startOffset + 1
|
||||||
|
|
||||||
text =
|
text =
|
||||||
if text.contains ':'
|
if text.contains ':'
|
||||||
text
|
text
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user