diaspora/public/javascripts/stream.js

68 lines
2 KiB
JavaScript

/* Copyright (c) 2010, Diaspora Inc. This file is
* licensed under the Affero General Public License version 3 or later. See
* the COPYRIGHT file.
*/
$(document).ready(function(){
// expand all comments on page load
$("#stream:not('.show')").find('.comments').each(function(index) {
var comments = $(this);
if(comments.children("li").length > 1) {
var show_comments_toggle = comments.closest("li").find(".show_post_comments");
expandComments(show_comments_toggle);
}
});
// comment toggle action
$("#stream:not('.show')").delegate("a.show_post_comments", "click", function(evt) {
evt.preventDefault();
expandComments($(this));
});
// comment submit action
$("#stream").delegate("a.comment_submit", "click", function(evt){
$(this).closest("form").children(".comment_box").attr("rows", 1);
});
$("#stream").delegate("textarea.comment_box", "focus", function(evt){
var commentBox = $(this);
commentBox.attr("rows", 2)
.closest("form").find(".comment_submit").fadeIn(200);
});
$("#stream").delegate("textarea.comment_box", "blur", function(evt){
var commentBox = $(this);
if( !commentBox.val() ) {
commentBox.attr("rows", 1)
.closest("form").find(".comment_submit").hide();
}
});
// reshare button action
$("#stream").delegate(".reshare_button", "click", function(evt){
evt.preventDefault();
var button = $(this);
button.closest(".reshare_pane").children(".reshare_box").show();
button.addClass("active");
});
});//end document ready
function expandComments(toggler){
var text = toggler.html();
commentBlock = toggler.closest("li").find("ul.comments", ".content");
if( toggler.hasClass("visible")) {
toggler.removeClass("visible")
.html(text.replace("hide", "show"));
commentBlock.slideUp(150);
} else {
toggler.addClass("visible")
.html(text.replace("show", "hide"));
commentBlock.slideDown(150);
}
}