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