feature: Implement sorting

This commit is contained in:
Keith Solomon
2025-02-05 13:02:04 -06:00
parent a9ea8cc9d8
commit 32eaaef81a
2 changed files with 70 additions and 25 deletions

View File

@@ -1,7 +1,5 @@
jQuery(document).ready(function ($) {
$('#resource-filter').on('submit', function (e) {
e.preventDefault();
function triggerFiltering() {
let searchTerm = $('#search').val();
let selectedTypes = $('input[name="resource_type[]"]:checked').map(function () {
@@ -29,22 +27,40 @@ jQuery(document).ready(function ($) {
}).get(),
resource_subject: $('input[name="resource_subject[]"]:checked').map(function () {
return this.value;
}).get()
}).get(),
sort_order: $('#sort-order').val() // Pass sorting option
};
$.post(resourceFilterAjax.ajaxurl, formData, function (response) {
response = JSON.parse(response);
$('#resource-results').html(response.html);
if (response.count !== undefined) {
$('#result-count').text(response.count);
} else {
$('#result-count').text($('#result-count').text()); // Keep initial count
}
// Update sort order label
let sortText = $('#sort-order option:selected').text();
$('#sort-label').text(sortText);
});
}
// Handle form submission
$('#resource-filter').on('submit', function (e) {
e.preventDefault();
triggerFiltering();
});
// Handle sorting change
$('#sort-order').on('change', function () {
triggerFiltering();
});
});
// Close <details> elements when clicking outside
jQuery(document).on('click', function (event) {
jQuery('details[open]').each(function () {
if (!jQuery(this).is(event.target) && jQuery(this).has(event.target).length === 0) {