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