1
0
antisocial-scrobble/js/asm-admin.js

50 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

jQuery(document).ready(function($) {
// Listen for changes on any score dropdown
$('.asm-score-dropdown').on('change', function() {
var dropdown = $(this);
var album = dropdown.data('album');
var score = dropdown.val();
// Get the author and cover_url from the respective inputs in the same row
var row = $('#asm-row-' + album);
var author = dropdown.data('author');
var cover_url = dropdown.data('cover');
// Status cell
var statusCell = row.find('.asm-status');
if (score === '') {
// If no score is selected, do not proceed
statusCell.html('<span style="color: orange;">No score selected.</span>');
return;
}
// Show loading message
statusCell.html('<span style="color: blue;">Updating...</span>');
// AJAX request
$.ajax({
url: asm_ajax_obj.ajax_url,
type: 'POST',
data: {
action: 'asm_update_score',
nonce: asm_ajax_obj.nonce,
album: album,
score: score,
author: author,
cover_url: cover_url
},
success: function(response) {
if (response.success) {
statusCell.html('<span style="color: green;">' + response.data + '</span>');
} else {
statusCell.html('<span style="color: red;">' + response.data + '</span>');
}
},
error: function() {
statusCell.html('<span style="color: red;">AJAX error.</span>');
}
});
});
});