]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - js/util.js
Start working a bit more consistently with "notice-options"
[quix0rs-gnu-social.git] / js / util.js
index 56aaf1f6f993e7139895b157f7e0d562db38932c..5995294d8f9eeb49e4eff0ed1d9e4c2ead992d40 100644 (file)
@@ -575,6 +575,28 @@ var SN = { // StatusNet
             }
         },
 
+        /**
+         * Setup function -- DOES NOT trigger actions immediately.
+         *
+         * Sets up event handlers on all visible notice's option <a> elements
+         * so they are called with AJAX enabled.
+         *
+         * (without javascript the link goes to a page that expects you to verify
+         * the action through a form)
+         *
+         * @access private
+         */
+        NoticeOptionsAjax: function () {
+            $(document).on('click', '.notice-options > a', function (e) {
+                e.preventDefault();
+                var noticeEl = $(this).closest('.notice');
+                $.get($(this).attr('href'), {ajax: 1}, function (data, textStatus, xhr) {
+                    noticeEl.replaceWith($('body', data).html());
+                });
+                return false;
+            });
+        },
+
         /**
          * Setup function -- DOES NOT trigger actions immediately.
          *
@@ -1446,6 +1468,7 @@ var SN = { // StatusNet
                 SN.U.NoticeRepeat();
                 SN.U.NoticeReply();
                 SN.U.NoticeInlineReplySetup();
+                SN.U.NoticeOptionsAjax();
             }
 
             SN.U.NoticeAttachments();