osm-commerces/assets/edit.js

46 lines
1.6 KiB
JavaScript
Raw Normal View History

2025-06-06 23:28:35 +02:00
/**
* mettre à jour la barre de progression
* pour le formulaire de modification
*/
function updateCompletionProgress() {
const inputs = document.querySelectorAll('input[type="text"]');
let filledInputs = 0;
let totalInputs = inputs.length;
inputs.forEach(input => {
if (input.value.trim() !== '') {
filledInputs++;
}
});
const completionPercentage = (filledInputs / totalInputs) * 100;
const progressBar = document.querySelector('#completion_progress .progress-bar');
if (progressBar) {
progressBar.style.width = completionPercentage + '%';
progressBar.setAttribute('aria-valuenow', completionPercentage);
document.querySelector('#completion_display').innerHTML = `Votre commerce est complété à ${Math.round(completionPercentage)}%`;
}
}
function parseCuisine() {
const cuisineInput = document.querySelector('input[name="commerce_tag_value__cuisine"]');
// Récupérer tous les checkboxes de type de cuisine
const cuisineCheckboxes = document.querySelectorAll('input[name="cuisine_type"]');
// Ajouter un écouteur d'événement sur chaque checkbox
cuisineCheckboxes.forEach(checkbox => {
checkbox.addEventListener('change', () => {
// Récupérer toutes les checkboxes cochées
const checkedCuisines = Array.from(document.querySelectorAll('input[name="cuisine_type"]:checked'))
.map(input => input.value);
// Mettre à jour l'input avec les valeurs séparées par des points-virgules
cuisineInput.value = checkedCuisines.join(';');
});
});
}
window.updateCompletionProgress = updateCompletionProgress;
window.parseCuisine = parseCuisine;