fix: avoid null error
All checks were successful
Deploy MinIO Explorer / deploy (push) Successful in 44s

This commit is contained in:
2025-09-05 12:02:40 +02:00
parent 0512357fd0
commit 4e988fc15d

View File

@@ -21,14 +21,24 @@ function initializeApp() {
function setupEventListeners() {
// Formulaire de développement
document.getElementById('url-form').addEventListener('submit', handleUrlFormSubmit);
const urlForm = document.getElementById('url-form');
if (urlForm) {
urlForm.addEventListener('submit', handleUrlFormSubmit);
}
// Gestion de la navigation arrière/avant du navigateur
window.addEventListener('popstate', handlePopState);
// Gestionnaires pour la prévisualisation
document.getElementById('close-preview').addEventListener('click', hidePreview);
document.getElementById('download-file').addEventListener('click', downloadCurrentFile);
const closePreview = document.getElementById('close-preview');
if (closePreview) {
closePreview.addEventListener('click', hidePreview);
}
const downloadFile = document.getElementById('download-file');
if (downloadFile) {
downloadFile.addEventListener('click', downloadCurrentFile);
}
}
function handlePopState(event) {
@@ -67,6 +77,8 @@ function handleUrlFormSubmit(event) {
event.preventDefault();
const urlInput = document.getElementById('minio-url');
if (!urlInput) return;
const minioUrl = urlInput.value.trim();
if (!minioUrl) {
@@ -112,7 +124,9 @@ function updateConfigDisplay() {
function showDevForm() {
const devForm = document.getElementById('dev-form');
devForm.style.display = 'block';
if (devForm) {
devForm.style.display = 'block';
}
}
@@ -120,31 +134,38 @@ function showError(message) {
const errorSection = document.getElementById('error-section');
const errorMessage = document.getElementById('error-message');
errorMessage.textContent = message;
errorSection.style.display = 'block';
if (errorMessage) {
errorMessage.textContent = message;
}
// Masquer l'erreur après 5 secondes
setTimeout(() => {
errorSection.style.display = 'none';
}, 5000);
if (errorSection) {
errorSection.style.display = 'block';
// Masquer l'erreur après 5 secondes
setTimeout(() => {
errorSection.style.display = 'none';
}, 5000);
}
}
function showLoading(show = true) {
const loading = document.getElementById('loading');
const table = document.getElementById('files-table');
if (show) {
loading.style.display = 'block';
table.style.display = 'none';
} else {
loading.style.display = 'none';
table.style.display = 'table';
if (loading) {
loading.style.display = show ? 'block' : 'none';
}
if (table) {
table.style.display = show ? 'none' : 'table';
}
}
function updateCurrentPathDisplay() {
const pathDisplay = document.getElementById('current-path');
pathDisplay.textContent = '/' + config.currentPath;
if (pathDisplay) {
pathDisplay.textContent = '/' + config.currentPath;
}
}
async function loadBucketContents(path = '', pushToHistory = true) {
@@ -292,6 +313,8 @@ function parseMinioXML(xmlText) {
function displayContents(contents) {
const tbody = document.getElementById('files-tbody');
if (!tbody) return;
tbody.innerHTML = '';
// Bouton parent directory si on n'est pas à la racine
@@ -314,7 +337,10 @@ function displayContents(contents) {
});
// Afficher le tableau
document.getElementById('files-table').style.display = 'table';
const filesTable = document.getElementById('files-table');
if (filesTable) {
filesTable.style.display = 'table';
}
// Chercher et ouvrir automatiquement index.rst s'il existe
autoOpenIndexRst(contents.files);
@@ -473,6 +499,11 @@ function showPreview(fileUrl, fileName) {
const previewTitle = document.getElementById('preview-title');
const previewContent = document.getElementById('preview-content');
if (!previewSection || !previewTitle || !previewContent) {
console.error('Éléments de prévisualisation non trouvés');
return;
}
previewTitle.textContent = `Prévisualisation: ${fileName}`;
previewContent.innerHTML = '<div style="text-align: center; padding: 20px;">Chargement...</div>';
@@ -585,7 +616,9 @@ function showUnsupportedPreview(fileName, container) {
function hidePreview() {
const previewSection = document.getElementById('preview-section');
previewSection.style.display = 'none';
if (previewSection) {
previewSection.style.display = 'none';
}
currentPreviewFile = { url: '', name: '' };
}