Merge branch 'v3' of https://github.com/zixaphir/appchan-x
This commit is contained in:
commit
5ce2c53f14
@ -4438,7 +4438,7 @@
|
||||
});
|
||||
},
|
||||
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 (Conf['Embedding']) {
|
||||
@ -4483,18 +4483,14 @@
|
||||
test.lastIndex = 0;
|
||||
}
|
||||
range = Linkify.makeRange(node, endNode, index, length);
|
||||
if (link = Linkify.regString.exec(text = range.toString())) {
|
||||
if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
|
||||
range.setStart(node, len);
|
||||
}
|
||||
text = text.slice(0, lIndex);
|
||||
links.push([range, text]);
|
||||
if (link = Linkify.regString.exec(range.toString())) {
|
||||
links.push(range);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
if (link = Linkify.regString.exec(result[0])) {
|
||||
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);
|
||||
return range;
|
||||
},
|
||||
makeLink: function(_arg) {
|
||||
var a, range, text;
|
||||
makeLink: function(range) {
|
||||
var a, check, text;
|
||||
|
||||
range = _arg[0], text = _arg[1];
|
||||
text;
|
||||
text = range.toString();
|
||||
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;
|
||||
a = $.el('a', {
|
||||
className: 'linkify',
|
||||
|
||||
@ -4444,7 +4444,7 @@
|
||||
});
|
||||
},
|
||||
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 (Conf['Embedding']) {
|
||||
@ -4489,18 +4489,14 @@
|
||||
test.lastIndex = 0;
|
||||
}
|
||||
range = Linkify.makeRange(node, endNode, index, length);
|
||||
if (link = Linkify.regString.exec(text = range.toString())) {
|
||||
if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
|
||||
range.setStart(node, len);
|
||||
}
|
||||
text = text.slice(0, lIndex);
|
||||
links.push([range, text]);
|
||||
if (link = Linkify.regString.exec(range.toString())) {
|
||||
links.push(range);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
if (link = Linkify.regString.exec(result[0])) {
|
||||
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);
|
||||
return range;
|
||||
},
|
||||
makeLink: function(_arg) {
|
||||
var a, range, text;
|
||||
makeLink: function(range) {
|
||||
var a, check, text;
|
||||
|
||||
range = _arg[0], text = _arg[1];
|
||||
text;
|
||||
text = range.toString();
|
||||
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;
|
||||
a = $.el('a', {
|
||||
className: 'linkify',
|
||||
|
||||
@ -75,17 +75,13 @@ Linkify =
|
||||
|
||||
test.lastIndex = 0 if length is endNode.data.length
|
||||
range = Linkify.makeRange node, endNode, index, length
|
||||
if link = Linkify.regString.exec text = range.toString()
|
||||
if (lIndex = link.index) and (len = lIndex + index) < node.data.length
|
||||
range.setStart node, len
|
||||
text = text[...lIndex]
|
||||
links.push [range, text]
|
||||
links.push range if link = Linkify.regString.exec range.toString()
|
||||
break
|
||||
|
||||
else
|
||||
if link = Linkify.regString.exec result[0]
|
||||
range = Linkify.makeRange node, node, index + link.index, length + link.index
|
||||
links.push [range, link]
|
||||
links.push range
|
||||
|
||||
for range in links.reverse()
|
||||
@nodes.links.push Linkify.makeLink range, @
|
||||
@ -103,12 +99,25 @@ Linkify =
|
||||
|
||||
makeRange: (startNode, endNode, startOffset, endOffset) ->
|
||||
range = document.createRange();
|
||||
range.setStart startNode, startOffset
|
||||
range.setEnd endNode, endOffset
|
||||
range.setStart startNode, startOffset
|
||||
range.setEnd endNode, endOffset
|
||||
range
|
||||
|
||||
makeLink: ([range, text]) ->
|
||||
text
|
||||
makeLink: (range) ->
|
||||
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 =
|
||||
if text.contains ':'
|
||||
text
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user