diff options
author | polo <ordipolo@gmx.fr> | 2025-07-20 16:38:52 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-07-20 16:38:52 +0200 |
commit | 245f1c1f4f60f6841b557312ff49b2ee6bac9bf3 (patch) | |
tree | f7103b73670fcf7019ccc1a9e18b7f5e55cad039 /public/js/calendar.js | |
parent | 976eaa544322be18c9feb1a165b9645533af4538 (diff) | |
download | cms-245f1c1f4f60f6841b557312ff49b2ee6bac9bf3.zip |
sélections correctes calendrier écran tactile
Diffstat (limited to 'public/js/calendar.js')
-rw-r--r-- | public/js/calendar.js | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/public/js/calendar.js b/public/js/calendar.js index 2275c10..844d411 100644 --- a/public/js/calendar.js +++ b/public/js/calendar.js | |||
@@ -28,9 +28,8 @@ document.addEventListener('DOMContentLoaded', function(){ | |||
28 | // pour recalculer la taille au redimensionnement du parent, exécuter: calendar.updateSize() | 28 | // pour recalculer la taille au redimensionnement du parent, exécuter: calendar.updateSize() |
29 | stickyHeaderDates: true, // garder les en-tête de colonnes lors du scroll | 29 | stickyHeaderDates: true, // garder les en-tête de colonnes lors du scroll |
30 | fixedWeekCount: false, // avec false, affiche 4, 5 ou 6 semaines selon le mois | 30 | fixedWeekCount: false, // avec false, affiche 4, 5 ou 6 semaines selon le mois |
31 | selectable: true, // sélection de jours multiples | 31 | selectable: true, // sélection de jours en cliquant dessus |
32 | longPressDelay: 0, /* par défaut sur mobile, select est déclenché avec un appui d'une seconde, | 32 | longPressDelay: 300, // 1000ms par défaut |
33 | chatgpt déconseille 0 par risque de conflit entre selection et scrolling, mettre plutôt 200 ou 300ms */ | ||
34 | navLinks: true, // numéros de jour et de semaines clicables | 33 | navLinks: true, // numéros de jour et de semaines clicables |
35 | 34 | ||
36 | // vue semaine | 35 | // vue semaine |
@@ -45,14 +44,17 @@ document.addEventListener('DOMContentLoaded', function(){ | |||
45 | selected_start_string = info.startStr; // variable "globale" | 44 | selected_start_string = info.startStr; // variable "globale" |
46 | hideModal(); | 45 | hideModal(); |
47 | }, | 46 | }, |
48 | // méthode alternative à longPressDelay: 0 pour obtenir une sélection d'un simple "tap" sur écran tactile (mettre le if inverse dans select) | 47 | // sélection d'une date simple sur mobile, évite des problèmes de conflit avec eventClick |
49 | /*dateClick: function(info) { | 48 | dateClick: function(info){ |
50 | if (window.matchMedia('(pointer: coarse)').matches) { | 49 | if(window.matchMedia('(pointer: coarse)').matches){ |
51 | // utile sur mobile/tablette : déclenche sur un tap | 50 | const end = new Date(info.date.getTime()); |
52 | console.log('dateClick', info.dateStr); | 51 | calendar.view.type == 'dayGridMonth' ? end.setDate(end.getDate() + 1) : end.setMinutes(end.getMinutes() + 30); |
53 | calendar.select(info.date, info.date); // hack permettant de sélectionner une journée seule uniquement | 52 | // vue date: la fin est une date exclue |
53 | // vue semaine: durée de 30min par défaut | ||
54 | |||
55 | calendar.select(info.date, end); // appeler select() avec un seul paramètre ne marche pas avec la vue "mois" | ||
54 | } | 56 | } |
55 | },*/ | 57 | }, |
56 | //unselect: function(event, view){}, | 58 | //unselect: function(event, view){}, |
57 | 59 | ||
58 | eventClick: function(info){ | 60 | eventClick: function(info){ |