download_file_ok

This commit is contained in:
Pascal 2024-11-26 16:45:00 +01:00
parent 979f2e56a5
commit fbd635cec6

View File

@ -1073,31 +1073,36 @@ function newRequest(params: RequestParams) {
function handleFiles(files: FileList) { function handleFiles(files: FileList) {
Array.from(files).forEach(file => { Array.from(files).forEach(file => {
// Vérifier si le fichier n'est pas déjà dans la liste const reader = new FileReader();
const existingFiles = fileList.querySelectorAll('.file-name'); reader.onload = (e) => {
const isDuplicate = Array.from(existingFiles).some( const fileContent = e.target?.result;
existingFile => existingFile.textContent === file.name // Vérifier si le fichier n'est pas déjà dans la liste
); const existingFiles = fileList.querySelectorAll('.file-name');
const isDuplicate = Array.from(existingFiles).some(
existingFile => existingFile.textContent === file.name
);
if (!isDuplicate) { if (!isDuplicate) {
const fileItem = document.createElement('div'); const fileItem = document.createElement('div');
fileItem.className = 'file-item'; fileItem.className = 'file-item';
fileItem.innerHTML = ` fileItem.innerHTML = `
<div class="file-info"> <div class="file-info">
<span class="file-name">${file.name}</span> <span class="file-name">${file.name}</span>
<span class="file-size">(${(file.size / 1024).toFixed(1)} KB)</span> <span class="file-size">(${(file.size / 1024).toFixed(1)} KB)</span>
</div> </div>
<button type="button" class="remove-file">×</button> <button type="button" class="remove-file">×</button>
`; `;
fileItem.dataset.content = fileContent as string;
// Ajouter l'événement de suppression const removeBtn = fileItem.querySelector('.remove-file');
const removeBtn = fileItem.querySelector('.remove-file'); if (removeBtn) {
if (removeBtn) { removeBtn.addEventListener('click', () => fileItem.remove());
removeBtn.addEventListener('click', () => fileItem.remove()); }
fileList.appendChild(fileItem);
} }
};
fileList.appendChild(fileItem); reader.readAsDataURL(file);
}
}); });
} }
} }
@ -1128,7 +1133,7 @@ function submitNewDocument(event: Event) {
const fileName = fileItem.querySelector('.file-name')?.textContent || ''; const fileName = fileItem.querySelector('.file-name')?.textContent || '';
return { return {
name: fileName, name: fileName,
url: '#', // URL simulée pour le prototype url: (fileItem as HTMLElement).dataset.content || '#',
}; };
}); });
@ -1263,7 +1268,7 @@ function submitCommonDocument(event: Event) {
const fileName = fileItem.querySelector('.file-name')?.textContent || ''; const fileName = fileItem.querySelector('.file-name')?.textContent || '';
return { return {
name: fileName, name: fileName,
url: '#', // URL simulée pour le prototype url: (fileItem as HTMLElement).dataset.content || '#',
}; };
}); });
@ -1575,11 +1580,9 @@ function signDocument(documentId: number, processId: number, isCommonDocument: b
<div class="file-item"> <div class="file-item">
<span class="file-icon">📄</span> <span class="file-icon">📄</span>
<span class="file-name">${file.name}</span> <span class="file-name">${file.name}</span>
${file.url ? ` <a href="${file.url}" class="download-link" download="${file.name}">
<a href="${file.url}" class="download-link" target="_blank"> <span class="download-icon"></span>
<span class="download-icon"></span> </a>
</a>
` : ''}
</div> </div>
`).join('') `).join('')
: '<p>Aucun fichier joint</p>' : '<p>Aucun fichier joint</p>'