From: Mikael Nordfeldth Date: Fri, 6 Mar 2015 23:32:26 +0000 (+0100) Subject: Start working a bit more consistently with "notice-options" X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;ds=sidebyside;h=6b147175bb90b182bdc1188a5537ddfd0d181303;p=quix0rs-gnu-social.git Start working a bit more consistently with "notice-options" Let's get the AJAX response and present it to the user with the same mechanisms for all actions, instead of having a bunch of javascript for various circumstances (fave, repeat, delete should all be the same behaviour for example). --- diff --git a/js/util.js b/js/util.js index 56aaf1f6f9..5995294d8f 100644 --- a/js/util.js +++ b/js/util.js @@ -575,6 +575,28 @@ var SN = { // StatusNet } }, + /** + * Setup function -- DOES NOT trigger actions immediately. + * + * Sets up event handlers on all visible notice's option 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();