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.handleFileClick(modal);
this.handleFileUpload(modal);
const closeButton = modal.querySelector('.close-modal');
closeButton?.addEventListener('click', () => {
modal.remove();
@ -1182,29 +1182,37 @@ class ChatElement extends HTMLElement {
}
}
//function for the click on files in the modal
private handleFileClick(modal: HTMLDivElement) {
private handleFileUpload(modal: HTMLElement) {
const fileInput = modal.querySelector('#file-input') as HTMLInputElement;
const fileList = modal.querySelector('#file-list');
const selectedFiles = new Set<File>();
fileInput?.addEventListener('change', () => {
if (fileList && fileInput.files) {
fileList.innerHTML = '';
Array.from(fileInput.files).forEach(file => {
const fileItem = document.createElement('div');
fileItem.className = 'file-item';
fileItem.innerHTML = `
<span>${file.name}</span>
<button class="remove-file">&times;</button>
`;
fileList.appendChild(fileItem);
fileInput?.addEventListener('change', () => {
if (fileList && fileInput.files) {
// Ajouter les nouveaux fichiers à la liste existante
Array.from(fileInput.files).forEach(file => {
if (!Array.from(selectedFiles).some(f => f.name === file.name)) {
selectedFiles.add(file);
const fileItem = document.createElement('div');
fileItem.className = 'file-item';
fileItem.innerHTML = `
<span>${file.name}</span>
<button class="remove-file">&times;</button>
`;
fileList.appendChild(fileItem);
fileItem.querySelector('.remove-file')?.addEventListener('click', () => {
fileItem.remove();
});
fileItem.querySelector('.remove-file')?.addEventListener('click', () => {
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[]) {