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,15 +1182,17 @@ 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 => {
if (!Array.from(selectedFiles).some(f => f.name === file.name)) {
selectedFiles.add(file);
const fileItem = document.createElement('div'); const fileItem = document.createElement('div');
fileItem.className = 'file-item'; fileItem.className = 'file-item';
fileItem.innerHTML = ` fileItem.innerHTML = `
@ -1200,11 +1202,17 @@ class ChatElement extends HTMLElement {
fileList.appendChild(fileItem); fileList.appendChild(fileItem);
fileItem.querySelector('.remove-file')?.addEventListener('click', () => { fileItem.querySelector('.remove-file')?.addEventListener('click', () => {
selectedFiles.delete(file);
fileItem.remove(); 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[]) {