1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-03 17:59:21 +02:00
ampache/lib/javascript/ajax.js
SUTJael a53d308b6c Can now re-order playlist and album songs #53 (new grab icon displayed on sortable list)
Updating only the modified item (not refreshing page anymore) #43
Removed last 'Flag' items found #54
Reborn theme set as default #22
Fix: filters are now working
Fix: Artist edition
2013-12-03 15:50:00 +01:00

63 lines
2 KiB
JavaScript

// vim:set softtabstop=4 shiftwidth=4 expandtab:
//
// Copyright 2001 - 2013 Ampache.org
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License v2
// as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// Some cutesy flashing thing while we run
$(document).ajaxSend(function () {
$('#ajax-loading').show();
});
$(document).ajaxComplete(function () {
$('#ajax-loading').hide();
});
// ajaxPost
// Post the contents of a form.
function ajaxPost(url, input, source) {
if ($(source)) {
$(source).off('click', function(){ ajaxPost(url, input, source); });
}
$.ajax(url, { success: processContents, type: 'post', data: $('#'+input).serialize() });
} // ajaxPost
// ajaxPut
// Get response from the specified URL.
function ajaxPut(url, source) {
if ($(source)) {
$(source).off('click', function(){ ajaxPut(url, source); });
}
$.ajax(url, { success: processContents, type: 'post', dataType: 'xml' });
} // ajaxPut
// ajaxState
// Post the contents of a form without doing any observe() things.
function ajaxState(url, input) {
$.ajax({
url : url,
type : 'POST',
data : $('#' + input).serialize(true),
success : processContents
});
} // ajaxState
// processContents
// Iterate over a response and do any updates we received.
function processContents(data) {
$(data).find('content').each(function () {
$('#' + $(this).attr('div')).html($(this).text());
});
} // processContents