fix search on rooms

This commit is contained in:
2025-05-26 21:41:47 +02:00
parent 81a97dafae
commit 029815c218

View File

@@ -1836,5 +1836,64 @@ function navigateToParent() {
const parentPath = parts.join('/'); const parentPath = parts.join('/');
navigateTo(parentPath); navigateTo(parentPath);
} }
// Add debounce function
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
// Add search functionality
function performSearch(searchTerm) {
if (!window.currentFiles) return;
const filteredFiles = window.currentFiles.filter(file => {
const searchLower = searchTerm.toLowerCase();
return file.name.toLowerCase().includes(searchLower) ||
(file.type && file.type.toLowerCase().includes(searchLower));
});
renderFiles(filteredFiles);
}
// Add event listeners for search
document.addEventListener('DOMContentLoaded', function() {
const searchInput = document.getElementById('quickSearchInput');
const clearSearchBtn = document.getElementById('clearSearchBtn');
if (searchInput) {
// Create debounced search function
const debouncedSearch = debounce((searchTerm) => {
if (searchTerm) {
performSearch(searchTerm);
clearSearchBtn.style.display = 'block';
} else {
fetchFiles(); // Reset to show all files
clearSearchBtn.style.display = 'none';
}
}, 300);
searchInput.addEventListener('input', function(e) {
const searchTerm = e.target.value.trim();
debouncedSearch(searchTerm);
});
// Add clear search button functionality
if (clearSearchBtn) {
clearSearchBtn.addEventListener('click', function() {
searchInput.value = '';
fetchFiles(); // Reset to show all files
clearSearchBtn.style.display = 'none';
});
}
}
});
</script> </script>
{% endblock %} {% endblock %}