Fix issues with clones, re-add auto-embed
This commit is contained in:
parent
b47aea7055
commit
4ff97f9435
@ -4335,21 +4335,22 @@
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var data, embedder, i, len, node, range, snapshot, _i, _j, _len, _len1, _ref, _ref1;
|
||||
var data, el, i, items, node, range, snapshot, _i, _len, _ref;
|
||||
|
||||
if (this.isClone && Conf['Embedding']) {
|
||||
_ref = $$('.embedder', this.nodes.comment);
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
embedder = _ref[_i];
|
||||
$.on(embedder, "click", Linkify.cb.toggle);
|
||||
if (this.isClone) {
|
||||
if (Conf['Embedding']) {
|
||||
i = 0;
|
||||
items = $$('.embedded', this.nodes.comment);
|
||||
while (el = items[i++]) {
|
||||
$.on(el, "click", Linkify.cb.toggle);
|
||||
Linkify.cb.toggle.call(el);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
snapshot = $.X('.//text()', this.nodes.comment);
|
||||
i = -1;
|
||||
len = snapshot.snapshotLength;
|
||||
while (++i < len) {
|
||||
node = snapshot.snapshotItem(i);
|
||||
i = 0;
|
||||
while (node = snapshot.snapshotItem(i++)) {
|
||||
if (node.parentElement.nodeName === "A") {
|
||||
continue;
|
||||
}
|
||||
@ -4362,9 +4363,9 @@
|
||||
if (!(Conf['Embedding'] || Conf['Link Title'])) {
|
||||
return;
|
||||
}
|
||||
_ref1 = this.nodes.links;
|
||||
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
||||
range = _ref1[_j];
|
||||
_ref = this.nodes.links;
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
range = _ref[_i];
|
||||
if (data = Linkify.services(range)) {
|
||||
if (Conf['Embedding']) {
|
||||
Linkify.embed(data);
|
||||
@ -4473,6 +4474,9 @@
|
||||
$.addClass(link, "" + embed.dataset.key);
|
||||
$.on(embed, 'click', Linkify.cb.toggle);
|
||||
$.after(link, [$.tn(' '), embed]);
|
||||
if (Conf['Auto-embed']) {
|
||||
Linkify.cb.toggle.call(embed);
|
||||
}
|
||||
},
|
||||
title: function(data) {
|
||||
var err, key, link, options, service, title, titles, uid;
|
||||
@ -4508,11 +4512,10 @@
|
||||
},
|
||||
cb: {
|
||||
toggle: function() {
|
||||
var el, embed;
|
||||
var string, _ref;
|
||||
|
||||
embed = this.previousElementSibling;
|
||||
el = !this.className.contains("embedded") ? Linkify.cb.embed(this) : Linkify.cb.unembed(this);
|
||||
$.replace(embed, el);
|
||||
_ref = $.hasClass(this, "embedded") ? ['unembed', '(embed)'] : ['embed', '(unembed)'], string = _ref[0], this.textContent = _ref[1];
|
||||
$.replace(this.previousElementSibling, Linkify.cb[string](this));
|
||||
return $.toggleClass(this, 'embedded');
|
||||
},
|
||||
embed: function(a) {
|
||||
@ -4520,7 +4523,6 @@
|
||||
|
||||
el = (type = Linkify.types[a.dataset.key]).el.call(a);
|
||||
el.style.cssText = (style = type.style) ? style : "border: 0; width: 640px; height: 390px";
|
||||
a.textContent = '(unembed)';
|
||||
return el;
|
||||
},
|
||||
unembed: function(a) {
|
||||
@ -4533,7 +4535,6 @@
|
||||
href: a.dataset.href,
|
||||
innerHTML: a.dataset.title || a.dataset.nodedata
|
||||
});
|
||||
a.textContent = '(embed)';
|
||||
$.addClass(el, a.dataset.key);
|
||||
return el;
|
||||
},
|
||||
|
||||
@ -4340,21 +4340,22 @@
|
||||
});
|
||||
},
|
||||
node: function() {
|
||||
var data, embedder, i, len, node, range, snapshot, _i, _j, _len, _len1, _ref, _ref1;
|
||||
var data, el, i, items, node, range, snapshot, _i, _len, _ref;
|
||||
|
||||
if (this.isClone && Conf['Embedding']) {
|
||||
_ref = $$('.embedder', this.nodes.comment);
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
embedder = _ref[_i];
|
||||
$.on(embedder, "click", Linkify.cb.toggle);
|
||||
if (this.isClone) {
|
||||
if (Conf['Embedding']) {
|
||||
i = 0;
|
||||
items = $$('.embedded', this.nodes.comment);
|
||||
while (el = items[i++]) {
|
||||
$.on(el, "click", Linkify.cb.toggle);
|
||||
Linkify.cb.toggle.call(el);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
snapshot = $.X('.//text()', this.nodes.comment);
|
||||
i = -1;
|
||||
len = snapshot.snapshotLength;
|
||||
while (++i < len) {
|
||||
node = snapshot.snapshotItem(i);
|
||||
i = 0;
|
||||
while (node = snapshot.snapshotItem(i++)) {
|
||||
if (node.parentElement.nodeName === "A") {
|
||||
continue;
|
||||
}
|
||||
@ -4367,9 +4368,9 @@
|
||||
if (!(Conf['Embedding'] || Conf['Link Title'])) {
|
||||
return;
|
||||
}
|
||||
_ref1 = this.nodes.links;
|
||||
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
||||
range = _ref1[_j];
|
||||
_ref = this.nodes.links;
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
range = _ref[_i];
|
||||
if (data = Linkify.services(range)) {
|
||||
if (Conf['Embedding']) {
|
||||
Linkify.embed(data);
|
||||
@ -4478,6 +4479,9 @@
|
||||
$.addClass(link, "" + embed.dataset.key);
|
||||
$.on(embed, 'click', Linkify.cb.toggle);
|
||||
$.after(link, [$.tn(' '), embed]);
|
||||
if (Conf['Auto-embed']) {
|
||||
Linkify.cb.toggle.call(embed);
|
||||
}
|
||||
},
|
||||
title: function(data) {
|
||||
var err, key, link, options, service, title, titles, uid;
|
||||
@ -4513,11 +4517,10 @@
|
||||
},
|
||||
cb: {
|
||||
toggle: function() {
|
||||
var el, embed;
|
||||
var string, _ref;
|
||||
|
||||
embed = this.previousElementSibling;
|
||||
el = !this.className.contains("embedded") ? Linkify.cb.embed(this) : Linkify.cb.unembed(this);
|
||||
$.replace(embed, el);
|
||||
_ref = $.hasClass(this, "embedded") ? ['unembed', '(embed)'] : ['embed', '(unembed)'], string = _ref[0], this.textContent = _ref[1];
|
||||
$.replace(this.previousElementSibling, Linkify.cb[string](this));
|
||||
return $.toggleClass(this, 'embedded');
|
||||
},
|
||||
embed: function(a) {
|
||||
@ -4525,7 +4528,6 @@
|
||||
|
||||
el = (type = Linkify.types[a.dataset.key]).el.call(a);
|
||||
el.style.cssText = (style = type.style) ? style : "border: 0; width: 640px; height: 390px";
|
||||
a.textContent = '(unembed)';
|
||||
return el;
|
||||
},
|
||||
unembed: function(a) {
|
||||
@ -4538,7 +4540,6 @@
|
||||
href: a.dataset.href,
|
||||
innerHTML: a.dataset.title || a.dataset.nodedata
|
||||
});
|
||||
a.textContent = '(embed)';
|
||||
$.addClass(el, a.dataset.key);
|
||||
return el;
|
||||
},
|
||||
|
||||
@ -33,20 +33,22 @@ Linkify =
|
||||
cb: @node
|
||||
|
||||
node: ->
|
||||
if @isClone and Conf['Embedding']
|
||||
for embedder in $$ '.embedder', @nodes.comment
|
||||
$.on embedder, "click", Linkify.cb.toggle
|
||||
if @isClone
|
||||
if Conf['Embedding']
|
||||
i = 0
|
||||
items = $$ '.embedded', @nodes.comment
|
||||
while el = items[i++]
|
||||
$.on el, "click", Linkify.cb.toggle
|
||||
Linkify.cb.toggle.call el
|
||||
|
||||
return
|
||||
|
||||
snapshot = $.X './/text()', @nodes.comment
|
||||
i = -1
|
||||
len = snapshot.snapshotLength
|
||||
i = 0
|
||||
while node = snapshot.snapshotItem i++
|
||||
|
||||
while ++i < len
|
||||
node = snapshot.snapshotItem i
|
||||
|
||||
continue if node.parentElement.nodeName is "A"
|
||||
|
||||
|
||||
data = node.data
|
||||
|
||||
if Linkify.regString.test data
|
||||
@ -146,13 +148,17 @@ Linkify =
|
||||
|
||||
for name, value of {key, href, uid, options}
|
||||
embed.dataset[name] = value
|
||||
|
||||
|
||||
embed.dataset.nodedata = link.innerHTML
|
||||
|
||||
$.addClass link, "#{embed.dataset.key}"
|
||||
|
||||
$.on embed, 'click', Linkify.cb.toggle
|
||||
$.after link, [$.tn(' '), embed]
|
||||
|
||||
if Conf['Auto-embed']
|
||||
Linkify.cb.toggle.call embed
|
||||
|
||||
return
|
||||
|
||||
title: (data) ->
|
||||
@ -179,16 +185,11 @@ Linkify =
|
||||
|
||||
cb:
|
||||
toggle: ->
|
||||
# We setup the link to be replaced by the embedded video
|
||||
embed = @previousElementSibling
|
||||
|
||||
# Unembed.
|
||||
el = unless @className.contains "embedded"
|
||||
Linkify.cb.embed @
|
||||
[string, @textContent] = if $.hasClass @, "embedded"
|
||||
['unembed', '(embed)']
|
||||
else
|
||||
Linkify.cb.unembed @
|
||||
|
||||
$.replace embed, el
|
||||
['embed', '(unembed)']
|
||||
$.replace @previousElementSibling, Linkify.cb[string] @
|
||||
$.toggleClass @, 'embedded'
|
||||
|
||||
embed: (a) ->
|
||||
@ -201,8 +202,6 @@ Linkify =
|
||||
else
|
||||
"border: 0; width: 640px; height: 390px"
|
||||
|
||||
a.textContent = '(unembed)'
|
||||
|
||||
return el
|
||||
|
||||
unembed: (a) ->
|
||||
@ -214,7 +213,6 @@ Linkify =
|
||||
href: a.dataset.href
|
||||
innerHTML: a.dataset.title or a.dataset.nodedata
|
||||
|
||||
a.textContent = '(embed)'
|
||||
$.addClass el, a.dataset.key
|
||||
|
||||
return el
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user