X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Futil.js;h=c22802651a1f270eae9ba4a7714f0ceabf04e239;hb=f519858044a627e99244b334b7bef3f7f96fa317;hp=cadf730075fe6505acc53282f7141ec16f1ee9d0;hpb=09cffc192863a3cf679545b97ee775c754730fe1;p=quix0rs-gnu-social.git diff --git a/js/util.js b/js/util.js index cadf730075..c22802651a 100644 --- a/js/util.js +++ b/js/util.js @@ -236,10 +236,11 @@ var SN = { // StatusNet * @fixme can't submit file uploads * * @param {jQuery} form: jQuery object whose first element is a form + * @param function onSuccess: something extra to do on success * * @access public */ - FormXHR: function(form) { + FormXHR: function(form, onSuccess) { $.ajax({ type: 'POST', dataType: 'xml', @@ -261,7 +262,7 @@ var SN = { // StatusNet errorReported = $('#error', xhr.responseXML).text(); } alert(errorReported || errorThrown || textStatus); - + // Restore the form to original state. // Hopefully. :D form @@ -274,9 +275,15 @@ var SN = { // StatusNet if (typeof($('form', data)[0]) != 'undefined') { form_new = document._importNode($('form', data)[0], true); form.replaceWith(form_new); + if (onSuccess) { + onSuccess(); + } } else if (typeof($('p', data)[0]) != 'undefined') { form.replaceWith(document._importNode($('p', data)[0], true)); + if (onSuccess) { + onSuccess(); + } } else { alert('Unknown error.'); @@ -499,7 +506,7 @@ var SN = { // StatusNet results_placeholder.replaceWith(list); } else { - var _error = $('
').append(document._importNode($('p', data)[0], true)); + var _error = $('').append(document._importNode($('p', data)[0], true)); results_placeholder.html(_error); } form @@ -609,8 +616,7 @@ var SN = { // StatusNet $('#content .notice_reply').live('click', function(e) { e.preventDefault(); var notice = $(this).closest('li.notice'); - var nickname = ($('.author .nickname', notice).length > 0) ? $($('.author .nickname', notice)[0]) : $('.author .nickname.uid'); - SN.U.NoticeInlineReplyTrigger(notice, '@' + nickname.text()); + SN.U.NoticeInlineReplyTrigger(notice); return false; }); }, @@ -632,33 +638,51 @@ var SN = { // StatusNet // Find the notice we're replying to... var id = $($('.notice_id', notice)[0]).text(); var parentNotice = notice; + var stripForm = true; // strip a couple things out of reply forms that are inline // Find the threaded replies view we'll be adding to... var list = notice.closest('.notices'); - if (list.hasClass('threaded-replies')) { + if (list.closest('.old-school').length) { + // We're replying to an old-school conversation thread; + // use the old-style ping into the top form. + SN.U.switchInputFormTab("status") + replyForm = $('#input_form_status').find('form'); + stripForm = false; + } else if (list.hasClass('threaded-replies')) { // We're replying to a reply; use reply form on the end of this list. // We'll add our form at the end of this; grab the root notice. parentNotice = list.closest('.notice'); + + // See if the form's already open... + var replyForm = $('.notice-reply-form', list); } else { // We're replying to a parent notice; pull its threaded list // and we'll add on the end of it. Will add if needed. list = $('ul.threaded-replies', notice); if (list.length == 0) { - list = $('