From e4a325c9d5c07f09bc18b7e366ffb82b82c43502 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 2 Apr 2025 00:00:35 +0200 Subject: =?UTF-8?q?modification=20des=20titres,=20aper=C3=A7us=20et=20date?= =?UTF-8?q?s=20des=20news?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/main.js | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 2 deletions(-) (limited to 'public/js/main.js') diff --git a/public/js/main.js b/public/js/main.js index d985b71..1351fea 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -63,12 +63,93 @@ function switchPositions(articleId, direction) console.log('Inversion réussie'); } else{ - console.log('Échec de l\'inversion'); + console.error('Échec de l\'inversion'); } } else { - console.log('Échec de l\'inversion'); + console.error('Échec de l\'inversion'); + } + }) + .catch(error => { + console.error('Erreur:', error); + }); +} + +function changeDate(id_date) +{ + const real_id = 'i' + id_date.slice(1); + const date_span = document.getElementById(id_date); // = + var old_date = date_span.innerHTML; + + // changer "le 28-12-2024 à 23h14" en "2024-12-28T23:14" + let values = old_date.split(" à "); // 2 parties: date et heure + values[1] = values[1].replace('h', ':'); + values[0] = values[0].replace("le ", ""); + let date = values[0].split("-"); // tableau jj-mm-aaaa + old_date = date[2] + '-' + date[1] + "-" + date[0] + "T" + values[1]; + + var label = document.createElement('label'); + label.textContent = 'Choisir une date: '; + label.id = 'label-' + id_date; + + var input = document.createElement('input'); + input.type = 'datetime-local'; + input.value = old_date; + input.id = 'input-' + id_date; + + var parent = date_span.parentElement; + parent.appendChild(label) + parent.appendChild(input); + + date_span.classList.add('hidden'); + document.querySelector(`#edit-${id_date}`).classList.add('hidden'); + document.querySelector(`#cancel-${id_date}`).classList.remove('hidden'); + document.querySelector(`#submit-${id_date}`).classList.remove('hidden'); +} + +function closeInput(id) +{ + const date_span = document.getElementById(id); + const date_input = document.getElementById('input-' + id); + const date_label = document.getElementById('label-' + id); + + date_span.classList.remove('hidden'); + date_input.remove(); + date_label.remove(); + document.querySelector(`#edit-${id}`).classList.remove('hidden'); + document.querySelector(`#cancel-${id}`).classList.add('hidden'); + document.querySelector(`#submit-${id}`).classList.add('hidden'); +} + +function submitDate(id_date) +{ + const date_input = document.getElementById('input-' + id_date); + + fetch('index.php?action=date_submit', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({id: id_date, date: date_input.value}) + }) + .then(response => response.json()) + .then(data => { + if (data.success) { + // modifier la date dans le caché + const date_span = document.getElementById(id_date); + let date = new Date(date_input.value); + date_span.innerHTML = + 'le ' + String(date.getDate()).padStart(2, '0') + '-' + + String(date.getMonth() + 1).padStart(2, '0') + '-' + + String(date.getFullYear()).padStart(4, '0') + ' à ' + + String(date.getHours()).padStart(2, '0') + 'h' + + String(date.getMinutes()).padStart(2, '0'); + + closeInput(id_date); + } + else { + console.error('Erreur lors de la sauvegarde de la date.'); } }) .catch(error => { -- cgit v1.2.3