load_diff_files_ok

This commit is contained in:
Pascal 2025-01-29 17:19:11 +01:00
parent 2e85345dda
commit d9b3175442

View File

@ -1173,7 +1173,7 @@ class ChatElement extends HTMLElement {
`; `;
this.shadowRoot?.appendChild(modal); this.shadowRoot?.appendChild(modal);
this.handleFileClick(modal); this.handleFileUpload(modal);
const closeButton = modal.querySelector('.close-modal'); const closeButton = modal.querySelector('.close-modal');
closeButton?.addEventListener('click', () => { closeButton?.addEventListener('click', () => {
modal.remove(); modal.remove();
@ -1182,29 +1182,37 @@ class ChatElement extends HTMLElement {
} }
} }
//function for the click on files in the modal private handleFileUpload(modal: HTMLElement) {
private handleFileClick(modal: HTMLDivElement) {
const fileInput = modal.querySelector('#file-input') as HTMLInputElement; const fileInput = modal.querySelector('#file-input') as HTMLInputElement;
const fileList = modal.querySelector('#file-list'); const fileList = modal.querySelector('#file-list');
const selectedFiles = new Set<File>();
fileInput?.addEventListener('change', () => { fileInput?.addEventListener('change', () => {
if (fileList && fileInput.files) { if (fileList && fileInput.files) {
fileList.innerHTML = ''; // Ajouter les nouveaux fichiers à la liste existante
Array.from(fileInput.files).forEach(file => { Array.from(fileInput.files).forEach(file => {
const fileItem = document.createElement('div'); if (!Array.from(selectedFiles).some(f => f.name === file.name)) {
fileItem.className = 'file-item'; selectedFiles.add(file);
fileItem.innerHTML = ` const fileItem = document.createElement('div');
<span>${file.name}</span> fileItem.className = 'file-item';
<button class="remove-file">&times;</button> fileItem.innerHTML = `
`; <span>${file.name}</span>
fileList.appendChild(fileItem); <button class="remove-file">&times;</button>
`;
fileList.appendChild(fileItem);
fileItem.querySelector('.remove-file')?.addEventListener('click', () => { fileItem.querySelector('.remove-file')?.addEventListener('click', () => {
fileItem.remove(); selectedFiles.delete(file);
}); fileItem.remove();
}); });
} }
}); });
// Réinitialiser l'input pour permettre la sélection du même fichier
fileInput.value = '';
}
});
return selectedFiles;
} }
private async generateMembersList(members: string[]) { private async generateMembersList(members: string[]) {