1document.addEventListener('DOMContentLoaded', function() { 2 // Fonction pour ajouter un nouveau champ 3 function addKeyValuePair(collectionHolder, button) { 4 // Récupérer le prototype 5 const prototype = collectionHolder.dataset.prototype; 6 7 // Remplacer __name__ par l'index actuel 8 const index = collectionHolder.dataset.index || collectionHolder.children.length; 9 const newForm = prototype.replace(/__name__/g, index); 10 11 // Créer un élément div pour contenir la nouvelle paire 12 const newFormDiv = document.createElement('div'); 13 newFormDiv.classList.add('key-value-pair'); 14 newFormDiv.innerHTML = newForm; 15 16 // Ajouter un bouton de suppression 17 const removeButton = document.createElement('button'); 18 removeButton.type = 'button'; 19 removeButton.classList.add('btn', 'btn-danger', 'btn-sm', 'remove-key-value-pair'); 20 removeButton.innerHTML = '<i class="fas fa-trash"></i>'; 21 removeButton.addEventListener('click', function() { 22 newFormDiv.remove(); 23 }); 24 25 newFormDiv.appendChild(removeButton); 26 27 // Ajouter le nouvel élément avant le bouton d'ajout 28 collectionHolder.appendChild(newFormDiv); 29 30 // Mettre à jour l'index 31 collectionHolder.dataset.index = parseInt(index) + 1; 32 } 33 34 // Ajouter des écouteurs d'événements aux boutons d'ajout 35 document.querySelectorAll('.add-another-collection-widget').forEach(function(button) { 36 button.addEventListener('click', function() { 37 const collectionSelector = this.dataset.listSelector; 38 const collectionHolder = document.querySelector(collectionSelector); 39 40 if (collectionHolder) { 41 addKeyValuePair(collectionHolder, this); 42 } 43 }); 44 }); 45 46 // Ajouter des écouteurs d'événements aux boutons de suppression existants 47 document.querySelectorAll('.remove-key-value-pair').forEach(function(button) { 48 button.addEventListener('click', function() { 49 this.closest('.key-value-pair').remove(); 50 }); 51 }); 52});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.