From 11d9c1955c9a7d65cb3dc76098abd3e4350d2685 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sat, 28 Nov 2009 15:44:16 +0000 Subject: [PATCH] Refactored NoticeReply() so that a notice item can use NoticeReplyTo instead of rebinding all of the notice replies again. --- js/util.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/js/util.js b/js/util.js index de3979195f..335ed24bb3 100644 --- a/js/util.js +++ b/js/util.js @@ -231,7 +231,7 @@ var SN = { // StatusNet $('#'+notice.id).css({display:'none'}); $('#'+notice.id).fadeIn(2500); SN.U.NoticeAttachments(); - SN.U.NoticeReply(); + SN.U.NoticeReplyTo($('#'+notice.id)); SN.U.FormXHR($('#'+notice.id+' .form_favor')); } } @@ -252,13 +252,20 @@ var SN = { // StatusNet NoticeReply: function() { if ($('#'+SN.C.S.NoticeDataText).length > 0 && $('#content .notice_reply').length > 0) { - $('#content .notice').each(function() { - var notice = $(this)[0]; - $($('.notice_reply', notice)[0]).click(function() { - var nickname = ($('.author .nickname', notice).length > 0) ? $($('.author .nickname', notice)[0]) : $('.author .nickname.uid'); - SN.U.NoticeReplySet(nickname.text(), $($('.notice_id', notice)[0]).text()); - return false; - }); + $('#content .notice').each(function() { SN.U.NoticeReplyTo($(this)); }); + } + }, + + NoticeReplyTo: function(notice_item) { + var notice = notice_item[0]; + var notice_reply = $('.notice_reply', notice)[0]; + + if (jQuery.data(notice_reply, "ElementData") === undefined) { + jQuery.data(notice_reply, "ElementData", {Bind:'submit'}); + $(notice_reply).bind('click', function() { + var nickname = ($('.author .nickname', notice).length > 0) ? $($('.author .nickname', notice)[0]) : $('.author .nickname.uid'); + SN.U.NoticeReplySet(nickname.text(), $($('.notice_id', notice)[0]).text()); + return false; }); } },