diff options
Diffstat (limited to 'public/js')
| -rw-r--r-- | public/js/menu.js | 94 |
1 files changed, 84 insertions, 10 deletions
diff --git a/public/js/menu.js b/public/js/menu.js index 8f1f326..ef58c42 100644 --- a/public/js/menu.js +++ b/public/js/menu.js | |||
| @@ -122,7 +122,7 @@ function checkMenuEntry(page_id){ | |||
| 122 | const checkbox = clicked_menu_entry.querySelector("input"); | 122 | const checkbox = clicked_menu_entry.querySelector("input"); |
| 123 | let color; | 123 | let color; |
| 124 | 124 | ||
| 125 | fetch('index.php?menu_edit=displayInMenu', { | 125 | fetch('index.php?menu_edit=display_in_menu', { |
| 126 | method: 'POST', | 126 | method: 'POST', |
| 127 | headers: { | 127 | headers: { |
| 128 | 'Content-Type': 'application/json' | 128 | 'Content-Type': 'application/json' |
| @@ -131,16 +131,14 @@ function checkMenuEntry(page_id){ | |||
| 131 | }) | 131 | }) |
| 132 | .then(response => response.json()) | 132 | .then(response => response.json()) |
| 133 | .then(data => { | 133 | .then(data => { |
| 134 | if(data.success) | 134 | if(data.success){ |
| 135 | { | ||
| 136 | color = checkbox.checked ? "#ff1d04" : "grey"; | 135 | color = checkbox.checked ? "#ff1d04" : "grey"; |
| 137 | clicked_menu_entry.querySelector("button").style.color = color; | 136 | clicked_menu_entry.querySelector("button").style.color = color; |
| 138 | 137 | ||
| 139 | nav_zone.innerHTML = ''; | 138 | nav_zone.innerHTML = ''; |
| 140 | nav_zone.insertAdjacentHTML('afterbegin', data.nav); | 139 | nav_zone.insertAdjacentHTML('afterbegin', data.nav); |
| 141 | } | 140 | } |
| 142 | else { | 141 | else{ |
| 143 | |||
| 144 | console.error('Échec de l\'inversion'); | 142 | console.error('Échec de l\'inversion'); |
| 145 | } | 143 | } |
| 146 | }) | 144 | }) |
| @@ -149,13 +147,89 @@ function checkMenuEntry(page_id){ | |||
| 149 | }); | 147 | }); |
| 150 | } | 148 | } |
| 151 | 149 | ||
| 152 | 150 | // seul la modification des URL est possible pour l'instant, les noms des entrées de menu attendront | |
| 153 | function editUrlEntry(page_id){ | 151 | function editUrlEntry(page_id){ |
| 154 | const selected_div = document.getElementById(page_id); | 152 | const parent_div = document.getElementById(page_id); |
| 155 | console.log(selected_div.id); | 153 | const url_input = parent_div.querySelector('.url').querySelector('input').value; |
| 154 | |||
| 155 | fetch('index.php?menu_edit=edit_url_entry', { | ||
| 156 | method: 'POST', | ||
| 157 | headers: { | ||
| 158 | 'Content-Type': 'application/json' | ||
| 159 | }, | ||
| 160 | body: JSON.stringify({ id: page_id, url_input: url_input }) | ||
| 161 | }) | ||
| 162 | .then(response => response.json()) | ||
| 163 | .then(data => { | ||
| 164 | if(data.success){ | ||
| 165 | findParentByTagName(document.getElementById('m_' + page_id), 'a').href = data.url_input; // MAJ menu | ||
| 166 | toastNotify("Nouvelle adresse enregistrée avec succès") | ||
| 167 | } | ||
| 168 | else{ | ||
| 169 | toastNotify("Erreur rencontrée par le serveur, changements non pris en compte"); | ||
| 170 | console.error("Erreur rencontrée par le serveur, changements non pris en compte"); | ||
| 171 | } | ||
| 172 | }) | ||
| 173 | .catch(error => { | ||
| 174 | console.error('Erreur:', error); | ||
| 175 | }); | ||
| 156 | } | 176 | } |
| 157 | 177 | ||
| 158 | function deleteUrlEntry(page_id){ | 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 | } | ||
| 190 | function 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 | } | ||
| 195 | function 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 | } | ||
| 222 | function 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){ | ||
| 159 | const selected_div = document.getElementById(page_id); | 232 | const selected_div = document.getElementById(page_id); |
| 160 | console.log(selected_div.id); | 233 | console.log(selected_div.id); |
| 161 | } \ No newline at end of file | 234 | }*/ |
| 235 | |||
