summaryrefslogtreecommitdiff
path: root/public/js/main.js
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-04-07 07:46:27 +0200
committerpolo <ordipolo@gmx.fr>2025-04-07 07:46:27 +0200
commit09bea09c8157ff45279f0d06aa9d313448c0bec5 (patch)
tree4f79c47678df12cb508607be040050c8f08455aa /public/js/main.js
parent022d0c36258c874a21a36e207ae89aa8d91e44a1 (diff)
downloadcms-09bea09c8157ff45279f0d06aa9d313448c0bec5.zip
nouvelle "news"
Diffstat (limited to 'public/js/main.js')
-rw-r--r--public/js/main.js96
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
115function 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
120function closeInput(id) 124function 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
134function submitDate(id_date) 138function 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', { 176function 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
169function findParent(element, tag_name) { 189function 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 {