Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
CURL
/
Dev tableau
/
burndown
:
script.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
$(document).ready(function() { let taskIndexToEdit = null; let isEditing = false; // Fonction pour ajouter ou éditer une tâche $('#addTaskForm').submit(function(event) { event.preventDefault(); const taskName = $('#taskName').val(); const estimatedTime = $('#estimatedTime').val(); if (taskName && estimatedTime && estimatedTime > 0) { if (isEditing) { $.post('functions.php', { action: 'edit', index: taskIndexToEdit, taskName: taskName, estimatedTime: estimatedTime }, function() { $('#taskTableBody tr[data-index="' + taskIndexToEdit + '"]') .find("td:first").text(taskName) .end().find("td:nth-child(2)").text(estimatedTime); resetForm(); $('#addTaskModal').modal('hide'); }); } else { $.post('functions.php', { action: 'add', taskName: taskName, estimatedTime: estimatedTime }, function(response) { const newTask = ` <tr data-index="${response.index}"> <td>${taskName}</td> <td>${estimatedTime}</td> <td> <button class="btn btn-warning editBtn">Éditer</button> <button class="btn btn-danger deleteBtn">Supprimer</button> </td> </tr> `; $('#taskTableBody').append(newTask); resetForm(); $('#addTaskModal').modal('hide'); }); } } else { $('#estimatedTime').addClass('is-invalid'); $('#estimatedTimeError').show(); } }); // Réinitialiser le formulaire après l'ajout ou l'édition function resetForm() { $('#taskName').val(''); $('#estimatedTime').val(''); $('#estimatedTime').removeClass('is-invalid'); $('#estimatedTimeError').hide(); isEditing = false; taskIndexToEdit = null; $('#addTaskModalLabel').text('Ajouter une nouvelle tâche'); $('button[type="submit"]').text('Ajouter la tâche'); } // Événements pour les boutons "Supprimer" $(document).on("click", ".deleteBtn", function() { const row = $(this).closest("tr"); const index = row.data("index"); taskIndexToDelete = index; $('#deleteModal').modal('show'); }); $("#confirmDeleteBtn").click(function() { $.post("functions.php", { action: "delete", index: taskIndexToDelete }, function() { $('#taskTableBody tr[data-index="' + taskIndexToDelete + '"]').remove(); $('#deleteModal').modal('hide'); }); }); $(document).on("click", ".editBtn", function() { const row = $(this).closest("tr"); const taskName = row.find("td:first").text(); const estimatedTime = row.find("td:nth-child(2)").text(); const index = row.data("index"); $('#taskName').val(taskName); $('#estimatedTime').val(estimatedTime); taskIndexToEdit = index; isEditing = true; $('#addTaskModalLabel').text('Modifier la tâche'); $('button[type="submit"]').text('Modifier la tâche'); $('#addTaskModal').modal('show'); }); // Sauvegarder les tâches au format JSON $('#saveButton').click(function() { let tasks = []; $('#taskTableBody tr').each(function() { const taskName = $(this).find("td:first").text(); const estimatedTime = $(this).find("td:nth-child(2)").text(); tasks.push({ taskName: taskName, estimatedTime: estimatedTime }); }); // Affiche le contenu du tableau dans la console avant de sauvegarder console.log("Contenu des tâches à sauvegarder :", tasks); // Vérification si le tableau peut être converti en JSON try { const jsonData = JSON.stringify(tasks); // Conversion en JSON console.log("Le tableau est valide pour être converti en JSON."); } catch (error) { console.log("Erreur lors de la conversion du tableau en JSON :", error); alert("Erreur lors de la conversion des tâches en format JSON."); return; // Stoppe l'exécution si la conversion échoue } // Envoyer les données via AJAX $.ajax({ url: 'functions.php', type: 'POST', data: { action: 'save', tasks: JSON.stringify(tasks) }, success: function(response) { alert('Les données ont été sauvegardées avec succès!'); }, error: function() { alert('Une erreur est survenue lors de la sauvegarde.'); } }); }); // Charger les tâches depuis le fichier JSON $('#loadButton').click(function() { // Affiche un message "bonjour" lors du clic sur le bouton "Charger" alert("bonjour"); $.ajax({ url: 'functions.php', type: 'POST', data: { action: 'load' }, success: function(response) { const tasks = JSON.parse(response); // Effacer le contenu actuel du tableau $('#taskTableBody').empty(); // Ajouter les tâches du fichier JSON tasks.forEach(function(task, index) { const newTask = ` <tr data-index="${index}"> <td>${task.taskName}</td> <td>${task.estimatedTime}</td> <td> <button class="btn btn-warning editBtn">Éditer</button> <button class="btn btn-danger deleteBtn">Supprimer</button> </td> </tr> `; $('#taskTableBody').append(newTask); }); alert('Les données ont été chargées avec succès!'); }, error: function() { alert('Une erreur est survenue lors du chargement des données.'); } }); }); });