aboutsummaryrefslogtreecommitdiff
path: root/public/js/menu.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/menu.js')
-rw-r--r--public/js/menu.js78
1 files changed, 12 insertions, 66 deletions
diff --git a/public/js/menu.js b/public/js/menu.js
index ef58c42..5e02387 100644
--- a/public/js/menu.js
+++ b/public/js/menu.js
@@ -147,22 +147,27 @@ function checkMenuEntry(page_id){
147 }); 147 });
148} 148}
149 149
150// seul la modification des URL est possible pour l'instant, les noms des entrées de menu attendront 150function editUrl(page_id, selector){
151function editUrlEntry(page_id){
152 const parent_div = document.getElementById(page_id); 151 const parent_div = document.getElementById(page_id);
153 const url_input = parent_div.querySelector('.url').querySelector('input').value; 152 const input_data = parent_div.querySelector('.' + selector).querySelector('input').value;
154 153
155 fetch('index.php?menu_edit=edit_url_entry', { 154 fetch('index.php?menu_edit=url_edit', {
156 method: 'POST', 155 method: 'POST',
157 headers: { 156 headers: {
158 'Content-Type': 'application/json' 157 'Content-Type': 'application/json'
159 }, 158 },
160 body: JSON.stringify({ id: page_id, url_input: url_input }) 159 body: JSON.stringify({ id: page_id, field: selector, input_data: input_data })
161 }) 160 })
162 .then(response => response.json()) 161 .then(response => response.json())
163 .then(data => { 162 .then(data => {
164 if(data.success){ 163 if(data.success){
165 findParentByTagName(document.getElementById('m_' + page_id), 'a').href = data.url_input; // MAJ menu 164 // MAJ menu
165 if(selector === 'url_name'){
166 document.getElementById('m_' + page_id).innerHTML = data.url_data;
167 }
168 else if(selector === 'url_content'){
169 findParentByTagName(document.getElementById('m_' + page_id), 'a').href = data.url_data;
170 }
166 toastNotify("Nouvelle adresse enregistrée avec succès") 171 toastNotify("Nouvelle adresse enregistrée avec succès")
167 } 172 }
168 else{ 173 else{
@@ -173,63 +178,4 @@ function editUrlEntry(page_id){
173 .catch(error => { 178 .catch(error => {
174 console.error('Erreur:', error); 179 console.error('Erreur:', error);
175 }); 180 });
176} 181} \ No newline at end of file
177
178
179
180// code à recycler pour pouvoir modifier le nom de l'entrée de menu correspondant aux liens
181/*function editUrlEntry(page_id){
182 const parent_div = document.getElementById(page_id);
183 parent_div.querySelector('i').classList.add('hidden');
184 parent_div.querySelector('.url').querySelector('input').classList.remove('hidden');
185 parent_div.querySelector('#edit-i' + page_id).classList.add('hidden');
186 parent_div.querySelector('#delete-i' + page_id).querySelector('input[type=image]').classList.add('hidden');
187 parent_div.querySelector('#cancel-i' + page_id).querySelector('button').classList.remove('hidden');
188 parent_div.querySelector('#submit-i' + page_id).querySelector('input[type=submit]').classList.remove('hidden');
189}
190function cancelUrlEntry(page_id){
191 const parent_div = document.getElementById(page_id);
192 parent_div.querySelector('.url').querySelector('input').value = parent_div.querySelector('i').textContent; // textContent (contrairement à innerHTML) ne transforme pas les & en entités HTML
193 closeUrlEntry(page_id, parent_div);
194}
195function submitUrlEntry(page_id){
196 const parent_div = document.getElementById(page_id);
197 const url_input = parent_div.querySelector('.url').querySelector('input').value;
198
199 fetch('index.php?menu_edit=edit_url_entry', {
200 method: 'POST',
201 headers: {
202 'Content-Type': 'application/json'
203 },
204 body: JSON.stringify({ id: page_id, url_input: url_input })
205 })
206 .then(response => response.json())
207 .then(data => {
208 if(data.success){
209 parent_div.querySelector('i').innerHTML = data.url_input; // MAJ <i>
210 findParentByTagName(document.getElementById('m_' + page_id), 'a').href = data.url_input; // MAJ menu
211 closeUrlEntry(page_id, parent_div);
212 }
213 else{
214 toastNotify("Erreur rencontrée par le serveur, changements non pris en compte");
215 console.error("Erreur rencontrée par le serveur, changements non pris en compte");
216 }
217 })
218 .catch(error => {
219 console.error('Erreur:', error);
220 });
221}
222function closeUrlEntry(page_id, parent_div){
223 parent_div.querySelector('i').classList.remove('hidden');
224 parent_div.querySelector('.url').querySelector('input').classList.add('hidden');
225 parent_div.querySelector('#edit-i' + page_id).classList.remove('hidden');
226 parent_div.querySelector('#delete-i' + page_id).querySelector('input[type=image]').classList.remove('hidden');
227 parent_div.querySelector('#cancel-i' + page_id).querySelector('button').classList.add('hidden');
228 parent_div.querySelector('#submit-i' + page_id).querySelector('input[type=submit]').classList.add('hidden');
229}*/
230
231/*function deleteUrlEntry(page_id){
232 const selected_div = document.getElementById(page_id);
233 console.log(selected_div.id);
234}*/
235