define(['module', 'jquery', 'plugins/it.to.work/scrollingElement'], function(myself, $, scrollingElement) {
return new function() {
//include css file
$('', {
rel: 'stylesheet',
type: 'text/css',
href: myself.uri.replace(/.js$/, '.css')
}).appendTo('head');
$(document).ready(function() {
if (bungloo.timeline) {
bungloo.timeline.body.addEventListener('DOMNodeInserted', hideReplies, false);
}
});
function hideReplies(e) {
var element = e.target;
if (element.nodeName != 'LI')
return;
var parent = element.parentNode;
if (parent != bungloo.timeline.body) return;
// mark the post as reply
var mentions = element.status.mentions;
for (var i=0; i 0) {
addHideRepliesButton(element);
}
};
var addHideRepliesButton = function(element) {
//add the hide button
//var buttons_container = $(element).find('.reply_to').parent()[0];
var buttons_container = element.getElementsByTagName('aside')[0];
if ($(buttons_container).find('.hide_replies').length == 0) {
var a = document.createElement('a');
var hideRepliesButton = a.cloneNode();
hideRepliesButton.className = 'hide_replies';
//hideRepliesButton.innerText = '⇞';
hideRepliesButton.href = '#';
hideRepliesButton.onclick = function() {
var classaction = 'add';
if ($(element).hasClass('has-hidden-replies')) {
classaction = 'remove';
}
$(element).toggleClass('has-hidden-replies');
var st_pre = scrollingElement.scrollTop();
var ot_pre = $(element).offset().top;
processPost([element], classaction);
var ot_post = $(element).offset().top;
var st_post = st_pre - ot_pre + ot_post;
scrollingElement.scrollTop(st_post);
return false;
};
buttons_container.appendChild(hideRepliesButton);
}
};
var processPost = function(parentPost, classaction) {
for (var i=0; i