leftypol_vichan/js/inline.js

56 lines
1.2 KiB
JavaScript
Raw Normal View History

2014-09-24 02:52:06 +00:00
;(function() {
2014-09-24 04:25:34 +00:00
var inline = function(e) {
e.preventDefault()
var postNum = this.textContent.slice(2)
var $clone = $('#inline_' + postNum)
if ($clone.length)
return $clone.remove()
2014-09-24 19:17:30 +00:00
var postOP = this.pathname.match(/(\d+).html/)[1]
var selector = postNum === postOP
2014-09-24 04:25:34 +00:00
? '.op .body'
: '#reply_' + postNum + ' .body'
var link = {
postNum: postNum,
node: this
}
2014-09-24 19:17:30 +00:00
var OP = $('input[name="thread"]').val()
if (OP === postOP) {
2014-09-24 19:37:25 +00:00
// XXX WTF the post hover script adds fetched threads to the DOM
selector = '#thread_' + OP + ' ' + selector
2014-09-24 19:17:30 +00:00
var $target = $(selector)
2014-09-24 04:25:34 +00:00
add(link, $target)
2014-09-24 19:17:30 +00:00
}
2014-09-24 04:25:34 +00:00
else
$.get(this.pathname, function(data) {
var $target = $(data).find(selector)
add(link, $target)
})
}
var add = function(link, $target) {
var $clone = $target.clone(true)
$clone.attr({
"class": 'inline',
id: 'inline_' + link.postNum
})
$clone.insertAfter(link.node)
}
2014-09-24 02:52:06 +00:00
$('head').append(
'<style>' +
'.inline {' +
' border: 1px dashed black;' +
' margin-left: 1em;' +
' padding: 1em;' +
'}' +
'</style>')
2014-09-24 04:25:34 +00:00
$('.body a').click(inline)
})()