diff options
author | Sarven Capadisli <csarven@status.net> | 2009-11-28 15:44:16 +0000 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2009-12-01 12:10:54 -0500 |
commit | 11d9c1955c9a7d65cb3dc76098abd3e4350d2685 (patch) | |
tree | c5d238bf42b214c31fe69561881a74d131ebb7d0 /js | |
parent | 1ec0950006953c53355b91516418015498d8bec0 (diff) |
Refactored NoticeReply() so that a notice item can use NoticeReplyTo
instead of rebinding all of the notice replies again.
Diffstat (limited to 'js')
-rw-r--r-- | js/util.js | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/js/util.js b/js/util.js index de3979195..335ed24bb 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; }); } }, |