]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Refactored NoticeReply() so that a notice item can use NoticeReplyTo
authorSarven Capadisli <csarven@status.net>
Sat, 28 Nov 2009 15:44:16 +0000 (15:44 +0000)
committerSarven Capadisli <csarven@status.net>
Sat, 28 Nov 2009 15:44:16 +0000 (15:44 +0000)
instead of rebinding all of the notice replies again.

js/util.js

index f52106eabb2e1ff11407e1a30af04aacf6abe24f..4c5118cccb010431bb7e90ef1972e6d0a20af7e9 100644 (file)
@@ -234,7 +234,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'));
                              }
                         }
@@ -255,13 +255,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;
                 });
             }
         },