Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
TP02
/
burndown
:
script02.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
$(document).ready(function() { // Fonction pour ajouter une nouvelle tâche $('#addTaskButton').click(function() { const taskName = $('#taskName').val(); const estimatedTime = $('#estimatedTime').val(); if (taskName === "" || estimatedTime === "") { alert("Veuillez remplir tous les champs."); return; } const newRow = `<tr> <td>${taskName}</td> <td>${estimatedTime}</td> <td><button class="btn btn-warning editBtn">Éditer</button></td> <td><button class="btn btn-danger deleteBtn">Supprimer</button></td> </tr>`; $('#taskTableBody').append(newRow); // Réinitialiser les champs de saisie $('#taskName').val(''); $('#estimatedTime').val(''); // Fermer la modale après l'ajout $('#addTaskModal').modal('hide'); }); // Délégation d'événements pour les boutons "Éditer" et "Supprimer" $('#taskTableBody').on('click', '.editBtn', function() { const row = $(this).closest('tr'); // Trouver la ligne correspondante const taskName = row.find('td:first').text(); // Récupérer le nom de la tâche const estimatedTime = row.find('td:nth-child(2)').text(); // Récupérer le temps estimé // Remplir la modale d'édition avec les valeurs actuelles $('#editTaskName').val(taskName); $('#editEstimatedTime').val(estimatedTime); // Ouvrir la modale d'édition $('#editTaskModal').modal('show'); // Sauvegarder les modifications $('#saveEditButton').off('click').on('click', function() { // Mettre à jour la ligne du tableau avec les nouvelles valeurs row.find('td:first').text($('#editTaskName').val()); row.find('td:nth-child(2)').text($('#editEstimatedTime').val()); // Fermer la modale $('#editTaskModal').modal('hide'); }); }); // Fonction pour supprimer une tâche $('#taskTableBody').on('click', '.deleteBtn', function() { const row = $(this).closest('tr'); $('#deleteTaskModal').modal('show'); $('#confirmDeleteButton').click(function() { row.remove(); $('#deleteTaskModal').modal('hide'); }); $('#cancelDeleteButton').click(function() { $('#deleteTaskModal').modal('hide'); }); }); // Sauvegarde des tâches dans un fichier 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 }); }); console.log("Contenu des tâches à sauvegarder :", tasks); try { const jsonData = JSON.stringify(tasks); 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; } const envoi_tasks = [ { "taskName": "Tâche 1", "estimatedTime": 5 }, { "taskName": "Tâche 2", "estimatedTime": 3 } ]; $.ajax({ url: 'functions.php', type: 'POST', data: { action: 'save', tasks: JSON.stringify(envoi_tasks) }, success: function(response) { $('#successModal').modal('show'); }, error: function() { $('#errorModal').modal('show'); } }); }); // Fonction pour charger les données depuis le fichier JSON $('#loadButton').click(function() { $.ajax({ url: 'functions.php', type: 'POST', data: { action: 'load' }, success: function(response) { const tasks = JSON.parse(response); $('#taskTableBody').empty(); tasks.forEach(function(task) { const newRow = `<tr> <td>${task.taskName}</td> <td>${task.estimatedTime}</td> <td><button class="btn btn-warning editBtn">Éditer</button></td> <td><button class="btn btn-danger deleteBtn">Supprimer</button></td> </tr>`; $('#taskTableBody').append(newRow); }); alert("Les données ont été chargées avec succès !"); }, error: function() { alert("Une erreur est survenue lors du chargement des données."); } }); }); });