diff options
Diffstat (limited to 'public')
| -rw-r--r-- | public/js/calendar_admin.js | 17 | ||||
| -rw-r--r-- | public/js/main.js | 16 |
2 files changed, 21 insertions, 12 deletions
diff --git a/public/js/calendar_admin.js b/public/js/calendar_admin.js index 0600954..7f14d76 100644 --- a/public/js/calendar_admin.js +++ b/public/js/calendar_admin.js | |||
| @@ -152,6 +152,9 @@ document.addEventListener('DOMContentLoaded', function(){ | |||
| 152 | return date; | 152 | return date; |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | if(!info.event.start || !info.event.end){ | ||
| 156 | throw new Error("info.event.start ou info.event.end est null"); | ||
| 157 | } | ||
| 155 | const formated_start = formatDate(info.event.start); | 158 | const formated_start = formatDate(info.event.start); |
| 156 | const formated_end = formatDate(info.event.allDay ? minusOneDay(info.event.end) : info.event.end); | 159 | const formated_end = formatDate(info.event.allDay ? minusOneDay(info.event.end) : info.event.end); |
| 157 | 160 | ||
| @@ -223,8 +226,8 @@ document.addEventListener('DOMContentLoaded', function(){ | |||
| 223 | const event_title = event_title_input.value; | 226 | const event_title = event_title_input.value; |
| 224 | const event_description = event_description_input.value; | 227 | const event_description = event_description_input.value; |
| 225 | const event_all_day = event_all_day_input.checked; | 228 | const event_all_day = event_all_day_input.checked; |
| 226 | let event_start = event_start_input.value; | 229 | let event_start = new Date(event_start_input.value); |
| 227 | let event_end = event_end_input.value; | 230 | let event_end = new Date(event_end_input.value); |
| 228 | const event_color = event_color_input.value; // #3788d8 par défaut | 231 | const event_color = event_color_input.value; // #3788d8 par défaut |
| 229 | 232 | ||
| 230 | let event_id = ''; | 233 | let event_id = ''; |
| @@ -235,18 +238,16 @@ document.addEventListener('DOMContentLoaded', function(){ | |||
| 235 | } | 238 | } |
| 236 | 239 | ||
| 237 | // contrôle de saisie | 240 | // contrôle de saisie |
| 238 | if(event_title.length !== 0 && event_start.length !== 0 && event_end.length !== 0 && event_color.length !== 0 | 241 | if(event_title.length !== 0 && event_start_input.value.length !== 0 && event_end_input.value.length !== 0 && event_color.length !== 0 |
| 239 | && (new_event || event_id.length !== 0)) | 242 | && (new_event || event_id.length !== 0)) |
| 240 | { | 243 | { |
| 241 | if(event_all_day){ | 244 | if(event_all_day){ |
| 242 | // on remet le jour de fin exclu | 245 | // on remet le jour de fin exclu |
| 243 | const tmp_object = new Date(event_end); | 246 | event_end.setDate(event_end.getDate() + 1); |
| 244 | tmp_object.setDate(tmp_object.getDate() + 1); | ||
| 245 | event_end = tmp_object.toISOString().split('T')[0]; | ||
| 246 | } | 247 | } |
| 247 | else{ | 248 | else{ |
| 248 | event_start = new Date(event_start).toISOString(); | 249 | event_start = new Date(event_start); |
| 249 | event_end = new Date(event_end).toISOString(); | 250 | event_end = new Date(event_end); |
| 250 | } | 251 | } |
| 251 | 252 | ||
| 252 | // contrôle date/heure de fin après le début | 253 | // contrôle date/heure de fin après le début |
diff --git a/public/js/main.js b/public/js/main.js index 1666b5c..6daf0be 100644 --- a/public/js/main.js +++ b/public/js/main.js | |||
| @@ -78,7 +78,11 @@ function toggleTouchMenu(){ | |||
| 78 | 78 | ||
| 79 | function makeDropLeftMenuEntries(){ | 79 | function makeDropLeftMenuEntries(){ |
| 80 | // détection d'éléments de 1er niveau possédant un menu déroulant possédant un menu déroulant | 80 | // détection d'éléments de 1er niveau possédant un menu déroulant possédant un menu déroulant |
| 81 | document.getElementById('nav_zone').querySelector('.nav_main').querySelectorAll('.drop-down:has(.drop-right)').forEach(drop_down => { | 81 | const nav_zone = document.getElementById('nav_zone'); |
| 82 | if(!nav_zone){ | ||
| 83 | return; | ||
| 84 | } | ||
| 85 | nav_zone.querySelector('.nav_main').querySelectorAll('.drop-down:has(.drop-right)').forEach(drop_down => { | ||
| 82 | const rect = drop_down.getBoundingClientRect(); // coordonnées spatiales | 86 | const rect = drop_down.getBoundingClientRect(); // coordonnées spatiales |
| 83 | 87 | ||
| 84 | // il se situe dans la moitié droite | 88 | // il se situe dans la moitié droite |
| @@ -124,13 +128,19 @@ document.addEventListener('DOMContentLoaded', () => { | |||
| 124 | }); | 128 | }); |
| 125 | }); | 129 | }); |
| 126 | 130 | ||
| 131 | // menu principal | ||
| 127 | navHeight(); // hauteur de <nav> en fonction de celle du menu en position fixe | 132 | navHeight(); // hauteur de <nav> en fonction de celle du menu en position fixe |
| 128 | makeDropLeftMenuEntries(); // changer en drop-left les drop-right des éléments du menu dans la moitié droite de la fenêtre | 133 | makeDropLeftMenuEntries(); // changer en drop-left les drop-right des éléments du menu dans la moitié droite de la fenêtre |
| 134 | |||
| 135 | // dates des articles "news" | ||
| 129 | insertLocalDates(); | 136 | insertLocalDates(); |
| 130 | }); | 137 | }); |
| 131 | 138 | ||
| 132 | function navHeight(){ | 139 | function navHeight(){ |
| 133 | const nav = document.querySelector('nav'); // détection | 140 | const nav = document.querySelector('nav'); // détection |
| 141 | if(!nav){ | ||
| 142 | return; | ||
| 143 | } | ||
| 134 | const nav_zone = document.getElementById('nav_zone'); | 144 | const nav_zone = document.getElementById('nav_zone'); |
| 135 | const resize_observer = new ResizeObserver(entries => { // param de type tableau | 145 | const resize_observer = new ResizeObserver(entries => { // param de type tableau |
| 136 | let nav_button_height = window.innerWidth <= 768 ? 26 : 0; // 26 = taille du bouton | 146 | let nav_button_height = window.innerWidth <= 768 ? 26 : 0; // 26 = taille du bouton |
| @@ -139,9 +149,7 @@ function navHeight(){ | |||
| 139 | nav_zone.style.height = (entry.contentRect.height + nav_button_height) + 'px'; | 149 | nav_zone.style.height = (entry.contentRect.height + nav_button_height) + 'px'; |
| 140 | } | 150 | } |
| 141 | }); | 151 | }); |
| 142 | if(nav){ | 152 | resize_observer.observe(nav); |
| 143 | resize_observer.observe(nav); | ||
| 144 | } | ||
| 145 | } | 153 | } |
| 146 | 154 | ||
| 147 | function fetchArticles(bloc_id){ | 155 | function fetchArticles(bloc_id){ |
