Сворачиваем/разворачиваем все ветки в списке комментариев

Увидел на нескольких сайтах возможность сворачивания/разворачивания веток комментариев. Такая возможность очень удобна, когда много комментариев и среди них много вложенных.

1. В template.js шаблона ДО инициализации комментариев (здесь) добавим функции «перелючалок» (toggle):
// Сворачиваем/разворачиваем комментарий
ls.comments.toggleComment = function(folding) {
    $(folding).toggleClass("folded").parent().nextAll(".comment-wrapper").toggle();
};

// Сворачиваем/разворачиваем все комментарии
ls.comments.toggleCommentAll = function() {
    $.each($(".folding"),function(k,v){
        this.toggleComment(v);
    }.bind(this));
};

2. Затем ниже перепишем initEvent:
ls.comments.initEvent = function() {
    $('#form_comment_text').bind('keyup', function(e) {
	key = e.keyCode || e.which;
	if(e.ctrlKey && (key == 13)) {
            $('#comment-button-submit').click();
            return false;
        }
    });
    if(this.options.folding){
        $(".folding").click(function(){
            this.toggleComment();
        }.bind(this));
    }
};

3. Добавляем в нужное место шаблона «переключатель»:
<a href="#" class="link-dotted" onclick="ls.comments.toggleCommentAll(0); return false;">Свернуть/развернуть все ветки</a>

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.