X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Futil.js;fp=js%2Futil.js;h=98fb6c985026114808d615d5f244be2ed14fdbee;hb=31c1177970124cee31823cab3a11542c23b4126d;hp=61e6719dcc9955bc00457d6bb786f1a94ada12f3;hpb=0a71622aa731c62c89ba84ef86d21fd168521ee1;p=quix0rs-gnu-social.git diff --git a/js/util.js b/js/util.js index 61e6719dcc..98fb6c9850 100644 --- a/js/util.js +++ b/js/util.js @@ -476,6 +476,74 @@ var SN = { // StatusNet }); }, + FormProfileSearchXHR: function(form) { + $.ajax({ + type: 'POST', + dataType: 'xml', + url: form.attr('action'), + data: form.serialize() + '&ajax=1', + beforeSend: function(xhr) { + form + .addClass(SN.C.S.Processing) + .find('.submit') + .addClass(SN.C.S.Disabled) + .attr(SN.C.S.Disabled, SN.C.S.Disabled); + }, + error: function (xhr, textStatus, errorThrown) { + alert(errorThrown || textStatus); + }, + success: function(data, textStatus) { + var results_placeholder = $('#profile_search_results'); + if (typeof($('ul', data)[0]) != 'undefined') { + var list = document._importNode($('ul', data)[0], true); + results_placeholder.replaceWith(list); + } + else { + var _error = $('
').append(document._importNode($('p', data)[0], true)); + results_placeholder.html(_error); + } + form + .removeClass(SN.C.S.Processing) + .find('.submit') + .removeClass(SN.C.S.Disabled) + .attr(SN.C.S.Disabled, false); + } + }); + }, + + FormPeopletagsXHR: function(form) { + $.ajax({ + type: 'POST', + dataType: 'xml', + url: form.attr('action'), + data: form.serialize() + '&ajax=1', + beforeSend: function(xhr) { + form.addClass(SN.C.S.Processing) + .find('.submit') + .addClass(SN.C.S.Disabled) + .attr(SN.C.S.Disabled, SN.C.S.Disabled); + }, + error: function (xhr, textStatus, errorThrown) { + alert(errorThrown || textStatus); + }, + success: function(data, textStatus) { + var results_placeholder = form.parents('.entity_tags'); + if (typeof($('.entity_tags', data)[0]) != 'undefined') { + var tags = document._importNode($('.entity_tags', data)[0], true); + $(tags).find('.editable').append($('')); + results_placeholder.replaceWith(tags); + } else { + results_placeholder.find('p').remove(); + results_placeholder.append(document._importNode($('p', data)[0], true)); + form.removeClass(SN.C.S.Processing) + .find('.submit') + .removeClass(SN.C.S.Disabled) + .attr(SN.C.S.Disabled, false); + } + } + }); + }, + normalizeGeoData: function(form) { SN.C.I.NoticeDataGeo.NLat = form.find('[name=lat]').val(); SN.C.I.NoticeDataGeo.NLon = form.find('[name=lon]').val(); @@ -505,6 +573,7 @@ var SN = { // StatusNet } }, + /** * Fetch an XML DOM from an XHR's response data. * @@ -1430,10 +1499,28 @@ var SN = { // StatusNet */ EntityActions: function() { if ($('body.user_in').length > 0) { + $('.form_user_subscribe').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_user_unsubscribe').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_group_join').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_group_leave').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_user_nudge').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_peopletag_subscribe').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_peopletag_unsubscribe').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_user_add_peopletag').live('click', function() { SN.U.FormXHR($(this)); return false; }); + $('.form_user_remove_peopletag').live('click', function() { SN.U.FormXHR($(this)); return false; }); + SN.U.NewDirectMessage(); } }, + ProfileSearch: function() { + if ($('body.user_in').length > 0) { + $('.form_peopletag_edit_user_search input.submit').live('click', function() { + SN.U.FormProfileSearchXHR($(this).parents('form')); return false; + }); + } + }, + /** * Run setup code for login form: * @@ -1456,6 +1543,45 @@ var SN = { // StatusNet }); }, + PeopletagAutocomplete: function() { + $('.form_tag_user #tags').tagInput({ + tags: SN.C.PtagACData, + tagSeparator: " ", + animate: false, + formatLine: function (i, e, search, matches) { + var tag = "" + e.tag.substring(0, search.length) + "" + e.tag.substring(search.length); + + var line = $("").addClass('mode-' + e.mode); + line.append($("