calendar 1.4

This commit is contained in:
Fred Tempez 2024-09-09 20:19:48 +02:00
parent be4f5c8457
commit b804eb097c
6 changed files with 29 additions and 48 deletions

View File

@ -15,7 +15,7 @@
class calendar extends common
{
const VERSION = '1.4alpha';
const VERSION = '1.4';
const REALNAME = 'Calendrier';
const DATA_DIRECTORY = self::DATA_DIR . 'calendar/';
@ -137,8 +137,6 @@ class calendar extends common
// Utiliser une expression pour capturer la clé complète (div .gc-event.textRed) et la dernière classe (textRed)
preg_match_all('/(div\s+\.gc-event\.\w+)\s*\{/', $classes, $matches);
// Créer un tableau associatif où la clé est la classe complète et la valeur est la dernière partie de la classe
$associativeClasses = [];
foreach ($matches[1] as $fullClass) {
// Extraire la dernière classe après le dernier point
@ -193,23 +191,18 @@ class calendar extends common
]);
}
// Liste des classes disponibles
$classes = $this->getData(['page', $this->getUrl(0), 'css']);
preg_match_all('/\.(\w+)/', $classes, $matches);
if (isset($matches[1])) {
// Créer un tableau associatif avec les clés égales aux valeurs
$associativeClasses = array_combine($matches[1], $matches[1]);
// Utiliser une expression pour capturer la clé complète (div .gc-event.textRed) et la dernière classe (textRed)
preg_match_all('/(div\s+\.gc-event\.\w+)\s*\{/', $classes, $matches);
// Créer un tableau associatif où la clé est la classe complète et la valeur est la dernière partie de la classe
$associativeClasses = [];
foreach ($matches[1] as $fullClass) {
// Extraire la dernière classe après le dernier point
preg_match('/\.(\w+)$/', $fullClass, $lastClassMatch);
$lastClass = $lastClassMatch[1];
// Assigner la clé complète à la dernière classe
self::$classes[$fullClass] = $lastClass;
// Fusionner ce tableau avec le tableau self::$classes
self::$classes = array_merge(self::$classes, $associativeClasses);
}
// Valeurs en sortie
$this->addOutput([
'title' => helper::translate('Edition'),
@ -297,27 +290,30 @@ class calendar extends common
{
// Feuille de styles
$cssContent =
'div .gc-event.textRed {
'.textRed {
padding: 2px;
border-radius: 5px;
color: red;
background-color: lightgrey;
font-size: 18px;
width: 90% ;
}
div .gc-event.textGreen {
.textGreen {
border-radius: 5px;
padding: 2px;
color: lightgreen;
font-size: 18px;
background-color: darkgrey;
font-size: 18px;
width: 90% ;
}
div .gc-event.textOrange {
.textOrange {
padding: 2px;
border-radius: 5px;
color: orange;
background-color: green;
font-size: 18px;
width: 90% ;
}';
}';
$this->setData(['page', $this->getUrl(0), 'css', $cssContent]);
}

View File

@ -1,3 +1,5 @@
# Version 1.4
- Annule les événements sont représentés par des icônes sur les petites largeurs d'écran et corrige les bugs liés à cette fonctionnalité.
# Version 1.3
- Corrige le pointeur de la ouris sur le mois.
- Un clic sur le mois affiche le mois courant.

View File

@ -159,6 +159,7 @@
margin-bottom: 10px
}
.slide-in-left {
-webkit-animation: slide-in-left .5s cubic-bezier(.25, .46, .45, .94) both;
animation: slide-in-left .5s cubic-bezier(.25, .46, .45, .94) both

View File

@ -14,8 +14,7 @@ var gcObject = {
}],
onclickDate: function (e, t) {},
nextIcon: ">",
prevIcon: "<",
eventIcon: "📌"
prevIcon: "<"
},
el: "",
eventAnimate: "none",
@ -82,9 +81,8 @@ var gcObject = {
gcObject.options.events.forEach((function (t) {
if (t.date.getFullYear() == e.datejs.getFullYear() && t.date.getMonth() == e.datejs.getMonth() && t.date.getDate() == e.datejs.getDate()) {
n.addClass("event");
var displayText = $(window).width() <= 600 ? gcObject.options.eventIcon : t.eventName;
var a = $(`<div class="gc-event ${t.className}" style="color:${t.dateColor || 'inherit'}">${displayText}</div>`);
a.on("click", (function (e) {
var a = $(`<div class="gc-event ${t.className}">${t.eventName}</div>`);
s = "color:" + (t.dateColor || "inherit"), a.on("click", (function (e) {
t.onclick(e, t)
})), n.append(a)
}
@ -127,7 +125,6 @@ var gcObject = {
return i
}
};
jQuery.fn.calendarGC = function (e = {
dayNames: dayNames,
dayBegin: dayBegin,
@ -137,23 +134,7 @@ jQuery.fn.calendarGC = function (e = {
events: events,
onclickDate: onclickDate,
nextIcon: "&gt;",
prevIcon: "&lt;",
eventIcon: "&#128204" // Notez ici, il n'y a pas de point-virgule.
prevIcon: "&lt;"
}) {
// Dans la définition des options, vous n'avez pas pris en compte eventIcon
return gcObject.options.dayNames = e.dayNames || ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
gcObject.options.dayBegin = void 0 === e.dayBegin || null === e.dayBegin ? 1 : e.dayBegin,
gcObject.options.monthNames = e.monthNames || ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
gcObject.options.onPrevMonth = e.onPrevMonth || function (e) {},
gcObject.options.onNextMonth = e.onNextMonth || function (e) {},
gcObject.options.events = e.events || [],
gcObject.options.onclickDate = e.onclickDate || function (e, t) {},
gcObject.options.nextIcon = e.nextIcon || "&gt;",
gcObject.options.prevIcon = e.prevIcon || "&lt;",
// Il manque la ligne suivante pour eventIcon
gcObject.options.eventIcon = e.eventIcon || "&#128204;",
gcObject.el = this,
gcObject.render(),
gcObject;
};
return gcObject.options.dayNames = e.dayNames || ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], gcObject.options.dayBegin = void 0 === e.dayBegin || null === e.dayBegin ? 1 : e.dayBegin, gcObject.options.monthNames = e.monthNames || ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], gcObject.options.onPrevMonth = e.onPrevMonth || function (e) {}, gcObject.options.onNextMonth = e.onNextMonth || function (e) {}, gcObject.options.events = e.events || [], gcObject.options.onclickDate = e.onclickDate || function (e, t) {}, gcObject.options.nextIcon = e.nextIcon || "&gt;", gcObject.options.prevIcon = e.prevIcon || "&lt;", gcObject.el = this, gcObject.render(), gcObject
};

View File

@ -27,9 +27,10 @@
font-family: 'Inter', sans-serif; /* Assurer la police Inter dans la popup */
}
div .gc-event {
.gc-event {
color: #38385C;
text-align: center;
font-size: 18px;
}
.popup-content {

View File

@ -26,7 +26,7 @@ function initializeCalendar() {
monthNames: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
prevIcon: '&#x3c;',
nextIcon: '&#x3e;',
eventIcon: '&#x1F4C5;',
//eventIcon: '&#x1F4C5;',
onPrevMonth: function (e) {
// Code pour le changement de mois précédent
},