summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-07-19 13:15:12 +0200
committerpolo <ordipolo@gmx.fr>2025-07-19 13:15:12 +0200
commit976eaa544322be18c9feb1a165b9645533af4538 (patch)
tree39ce8d68222b1b116390276f5b4751b7913b42e8 /public
parent8338cbe662018eb7b7ec01cbbd21531aca1d9b31 (diff)
downloadcms-976eaa544322be18c9feb1a165b9645533af4538.zip
amélioration calendrier écran tactile, selection sans touché prolongé, versionedFileURL() dispo de partout
Diffstat (limited to 'public')
-rw-r--r--public/css/calendar.css23
-rw-r--r--public/js/calendar.js18
-rw-r--r--public/js/calendar_admin.js2
3 files changed, 34 insertions, 9 deletions
diff --git a/public/css/calendar.css b/public/css/calendar.css
index 1cfb0fd..314a5ad 100644
--- a/public/css/calendar.css
+++ b/public/css/calendar.css
@@ -1,7 +1,10 @@
1/* !important est nécessaire pour écraser le CSS inséré par le javascript de fullcalendar */
2
1.event{ 3.event{
2 border: 2px double; 4 border: 2px double;
3 border-radius: 5px; 5 border-radius: 5px;
4 width: max-content; 6 width: max-content;
7 max-width: 250px;
5 padding: 5px; 8 padding: 5px;
6} 9}
7#calendar_zone{ 10#calendar_zone{
@@ -13,16 +16,17 @@
13#calendar{ 16#calendar{
14 width: 1165px; /* on enlève le "gap" */ 17 width: 1165px; /* on enlève le "gap" */
15} 18}
19#event_modal{}
16.event_title_box{ 20.event_title_box{
17 display: flex; 21 display: flex;
18 align-items: center; 22 align-items: center;
19 justify-content: space-between; 23 justify-content: space-between;
20} 24}
21.event_close_button{ 25.event_close_button{
22 height: fit-content; 26 /*height: fit-content;*/
23} 27}
24.fc-toolbar-title{ 28.fc-toolbar-title{
25 font-size: x-large !important; 29 /*font-size: x-large !important;*/
26} 30}
27.fc-button{ 31.fc-button{
28 padding: 0.2em 0.4em !important; 32 padding: 0.2em 0.4em !important;
@@ -60,12 +64,21 @@ td .fc-timegrid-axis{
60 padding: 0; 64 padding: 0;
61 } 65 }
62 .fc-toolbar-title{ 66 .fc-toolbar-title{
63 font-size: large !important; 67 /*font-size: large !important;*/
68 }
69 .fc-header-toolbar{
70 font-size: smaller;
71 }
72 h3, p, .event > button{
73 font-size: smaller;
64 } 74 }
65} 75}
66@media screen and (max-width: 650px){ 76@media screen and (max-width: 650px){
67 .fc-toolbar-chunk{ 77 .fc-header-toolbar{
68 font-size: smaller; 78 font-size: small;
79 }
80 .fc-toolbar-title{
81 font-size: 1.5em !important; /* au lieu de 1.75em */
69 } 82 }
70} 83}
71@media screen and (max-width: 550px){ 84@media screen and (max-width: 550px){
diff --git a/public/js/calendar.js b/public/js/calendar.js
index 7450a91..2275c10 100644
--- a/public/js/calendar.js
+++ b/public/js/calendar.js
@@ -29,6 +29,8 @@ document.addEventListener('DOMContentLoaded', function(){
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 multiples
32 longPressDelay: 0, /* par défaut sur mobile, select est déclenché avec un appui d'une seconde,
33 chatgpt déconseille 0 par risque de conflit entre selection et scrolling, mettre plutôt 200 ou 300ms */
32 navLinks: true, // numéros de jour et de semaines clicables 34 navLinks: true, // numéros de jour et de semaines clicables
33 35
34 // vue semaine 36 // vue semaine
@@ -43,6 +45,14 @@ document.addEventListener('DOMContentLoaded', function(){
43 selected_start_string = info.startStr; // variable "globale" 45 selected_start_string = info.startStr; // variable "globale"
44 hideModal(); 46 hideModal();
45 }, 47 },
48 // méthode alternative à longPressDelay: 0 pour obtenir une sélection d'un simple "tap" sur écran tactile (mettre le if inverse dans select)
49 /*dateClick: function(info) {
50 if (window.matchMedia('(pointer: coarse)').matches) {
51 // utile sur mobile/tablette : déclenche sur un tap
52 console.log('dateClick', info.dateStr);
53 calendar.select(info.date, info.date); // hack permettant de sélectionner une journée seule uniquement
54 }
55 },*/
46 //unselect: function(event, view){}, 56 //unselect: function(event, view){},
47 57
48 eventClick: function(info){ 58 eventClick: function(info){
@@ -72,14 +82,14 @@ document.addEventListener('DOMContentLoaded', function(){
72 <h3>` + info.event.title + `</h3> 82 <h3>` + info.event.title + `</h3>
73 <p><i>` + info.event.extendedProps.description + `</i></p>`; 83 <p><i>` + info.event.extendedProps.description + `</i></p>`;
74 if(checked && (formated_start === formated_end)){ // affichage simplifié évènement d'un jour 84 if(checked && (formated_start === formated_end)){ // affichage simplifié évènement d'un jour
75 aside_content = aside_content + `<p>le ` + formated_start + `</p> 85 aside_content = aside_content + `<p>le ` + formated_start + `</p>`;
76 </div>`;
77 } 86 }
78 else{ 87 else{
79 aside_content = aside_content + `<p>du ` + formated_start + `</p> 88 aside_content = aside_content + `<p>du ` + formated_start + `</p>
80 <p>au ` + formated_end + `</p> 89 <p>au ` + formated_end + `</p>`;
81 </div>`;
82 } 90 }
91 aside_content += `<button class="event_close_button">Fermer</button>
92 </div>`;
83 93
84 aside.innerHTML = aside_content; 94 aside.innerHTML = aside_content;
85 calendar.updateSize(); 95 calendar.updateSize();
diff --git a/public/js/calendar_admin.js b/public/js/calendar_admin.js
index 76a1ce9..7f167a4 100644
--- a/public/js/calendar_admin.js
+++ b/public/js/calendar_admin.js
@@ -30,6 +30,8 @@ document.addEventListener('DOMContentLoaded', function(){
30 stickyHeaderDates: true, // garder les en-tête de colonnes lors du scroll 30 stickyHeaderDates: true, // garder les en-tête de colonnes lors du scroll
31 fixedWeekCount: false, // avec false, affiche 4, 5 ou 6 semaines selon le mois 31 fixedWeekCount: false, // avec false, affiche 4, 5 ou 6 semaines selon le mois
32 selectable: true, // sélection de jours multiples 32 selectable: true, // sélection de jours multiples
33 longPressDelay: 0, /* par défaut sur mobile, select est déclenché avec un appui d'une seconde,
34 chatgpt déconseille 0 par risque de conflit entre selection et scrolling, mettre plutôt 200 ou 300ms */
33 navLinks: true, // numéros de jour et de semaines clicables 35 navLinks: true, // numéros de jour et de semaines clicables
34 36
35 // vue semaine 37 // vue semaine