diff options
| author | polo <ordipolo@gmx.fr> | 2025-04-07 07:46:27 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2025-04-07 07:46:27 +0200 |
| commit | 09bea09c8157ff45279f0d06aa9d313448c0bec5 (patch) | |
| tree | 4f79c47678df12cb508607be040050c8f08455aa /public/js/main.js | |
| parent | 022d0c36258c874a21a36e207ae89aa8d91e44a1 (diff) | |
| download | cms-09bea09c8157ff45279f0d06aa9d313448c0bec5.tar.gz cms-09bea09c8157ff45279f0d06aa9d313448c0bec5.tar.bz2 cms-09bea09c8157ff45279f0d06aa9d313448c0bec5.zip | |
nouvelle "news"
Diffstat (limited to 'public/js/main.js')
| -rw-r--r-- | public/js/main.js | 96 |
1 files changed, 58 insertions, 38 deletions
diff --git a/public/js/main.js b/public/js/main.js index c05eb2f..cb76ea8 100644 --- a/public/js/main.js +++ b/public/js/main.js | |||
| @@ -90,13 +90,8 @@ function changeDate(id_date) | |||
| 90 | const real_id = 'i' + id_date.slice(1); | 90 | const real_id = 'i' + id_date.slice(1); |
| 91 | const date_span = document.getElementById(id_date); // = <span> | 91 | const date_span = document.getElementById(id_date); // = <span> |
| 92 | var old_date = date_span.innerHTML; | 92 | var old_date = date_span.innerHTML; |
| 93 | 93 | ||
| 94 | // changer "le 28-12-2024 à 23h14" en "2024-12-28T23:14" | 94 | old_date = dateToISO(old_date); |
| 95 | let values = old_date.split(" à "); // 2 parties: date et heure | ||
| 96 | values[1] = values[1].replace('h', ':'); | ||
| 97 | values[0] = values[0].replace("le ", ""); | ||
| 98 | let date = values[0].split("-"); // tableau jj-mm-aaaa | ||
| 99 | old_date = date[2] + '-' + date[1] + "-" + date[0] + "T" + values[1]; | ||
| 100 | 95 | ||
| 101 | var label = document.createElement('label'); | 96 | var label = document.createElement('label'); |
| 102 | label.textContent = 'Choisir une date: '; | 97 | label.textContent = 'Choisir une date: '; |
| @@ -117,6 +112,15 @@ function changeDate(id_date) | |||
| 117 | document.querySelector(`#submit-${id_date}`).classList.remove('hidden'); | 112 | document.querySelector(`#submit-${id_date}`).classList.remove('hidden'); |
| 118 | } | 113 | } |
| 119 | 114 | ||
| 115 | function dateToISO(date){ | ||
| 116 | // changer "le 28-12-2024 à 23h14" en "2024-12-28T23:14" | ||
| 117 | let values = date.split(" à "); // 2 parties: date et heure | ||
| 118 | values[1] = values[1].replace('h', ':'); | ||
| 119 | values[0] = values[0].replace("le ", ""); | ||
| 120 | let date_array = values[0].split("-"); // tableau jj-mm-aaaa | ||
| 121 | return date_array[2] + '-' + date_array[1] + "-" + date_array[0] + "T" + values[1]; | ||
| 122 | } | ||
| 123 | |||
| 120 | function closeInput(id) | 124 | function closeInput(id) |
| 121 | { | 125 | { |
| 122 | const date_span = document.getElementById(id); | 126 | const date_span = document.getElementById(id); |
| @@ -133,40 +137,56 @@ function closeInput(id) | |||
| 133 | 137 | ||
| 134 | function submitDate(id_date) | 138 | function submitDate(id_date) |
| 135 | { | 139 | { |
| 136 | const date_input = document.getElementById('input-' + id_date); | 140 | var date_input = document.getElementById('input-' + id_date); |
| 141 | |||
| 142 | // cas des nouvelles "news" | ||
| 143 | const params = new URL(document.location).searchParams; // "search" = ? et paramètres, searchParams = objet avec des getters | ||
| 144 | if(params != null && params.get("id")[0] === 'n') | ||
| 145 | { | ||
| 146 | // modifier la date dans le <span> caché | ||
| 147 | date_input = updateDate(id_date, date_input); | ||
| 148 | closeInput(id_date); | ||
| 149 | return; | ||
| 150 | } | ||
| 151 | else{ | ||
| 152 | fetch('index.php?action=date_submit', { | ||
| 153 | method: 'POST', | ||
| 154 | headers: { | ||
| 155 | 'Content-Type': 'application/json' | ||
| 156 | }, | ||
| 157 | body: JSON.stringify({id: id_date, date: date_input.value}) | ||
| 158 | }) | ||
| 159 | .then(response => response.json()) | ||
| 160 | .then(data => { | ||
| 161 | if (data.success) { | ||
| 162 | // modifier la date dans le <span> caché | ||
| 163 | date_input = updateDate(id_date, date_input); | ||
| 164 | closeInput(id_date); | ||
| 165 | } | ||
| 166 | else { | ||
| 167 | console.error('Erreur lors de la sauvegarde de la date.'); | ||
| 168 | } | ||
| 169 | }) | ||
| 170 | .catch(error => { | ||
| 171 | console.error('Erreur:', error); | ||
| 172 | }); | ||
| 173 | } | ||
| 174 | } | ||
| 137 | 175 | ||
| 138 | fetch('index.php?action=date_submit', { | 176 | function updateDate(id_date, date_input){ |
| 139 | method: 'POST', | 177 | var date_span = document.getElementById(id_date); |
| 140 | headers: { | 178 | let date = new Date(date_input.value); |
| 141 | 'Content-Type': 'application/json' | 179 | date_span.innerHTML = |
| 142 | }, | 180 | 'le ' + String(date.getDate()).padStart(2, '0') + '-' + |
| 143 | body: JSON.stringify({id: id_date, date: date_input.value}) | 181 | String(date.getMonth() + 1).padStart(2, '0') + '-' + |
| 144 | }) | 182 | String(date.getFullYear()).padStart(4, '0') + ' à ' + |
| 145 | .then(response => response.json()) | 183 | String(date.getHours()).padStart(2, '0') + 'h' + |
| 146 | .then(data => { | 184 | String(date.getMinutes()).padStart(2, '0'); |
| 147 | if (data.success) { | 185 | |
| 148 | // modifier la date dans le <span> caché | 186 | return date_input; |
| 149 | const date_span = document.getElementById(id_date); | ||
| 150 | let date = new Date(date_input.value); | ||
| 151 | date_span.innerHTML = | ||
| 152 | 'le ' + String(date.getDate()).padStart(2, '0') + '-' + | ||
| 153 | String(date.getMonth() + 1).padStart(2, '0') + '-' + | ||
| 154 | String(date.getFullYear()).padStart(4, '0') + ' à ' + | ||
| 155 | String(date.getHours()).padStart(2, '0') + 'h' + | ||
| 156 | String(date.getMinutes()).padStart(2, '0'); | ||
| 157 | |||
| 158 | closeInput(id_date); | ||
| 159 | } | ||
| 160 | else { | ||
| 161 | console.error('Erreur lors de la sauvegarde de la date.'); | ||
| 162 | } | ||
| 163 | }) | ||
| 164 | .catch(error => { | ||
| 165 | console.error('Erreur:', error); | ||
| 166 | }); | ||
| 167 | } | 187 | } |
| 168 | 188 | ||
| 169 | function findParent(element, tag_name) { | 189 | function findParent(element, tag_name){ |
| 170 | while (element !== null) { | 190 | while (element !== null) { |
| 171 | if (element.tagName === tag_name.toUpperCase()) // tagName est en majuscules | 191 | if (element.tagName === tag_name.toUpperCase()) // tagName est en majuscules |
| 172 | { | 192 | { |
