La spécification s'appuie sur la description de la famille vue d'événements.
Cette vue spécifie les événements à rechercher, la manière de les afficher, ainsi que les moyens d'interactions.
La liste des événements à afficher est fournie à l'aide d'une recherche ou d'un dossier d'événements.
Cette recherche peut aussi être une recherche groupée (ensemble de recherches);
Option: la liste peut être retournée par une url spécifique. (à préciser)
| nom | description | restriction |
| groupement | par ressource / sans groupement | vue planning |
| tri | date de début,durée,intitulé de la ressource, type de producteur,catégorie de l'événement (code) | vue planning |
| couleur | par ressource / par type de producteur / par catégorie (code) | |
| titre événement | titre seul / titre + icone / icone seule | |
| titre ressource | titre seul / titre + icone / titre + titre évt | vue planning + titre + titre évt seulement si pas de regroupement |
| nom | description | défaut |
| couleur | méthode de la couleur (::ma_couleur()). Cette méthode est connue de l'événement ou fonction portant sur l'objet ma_couleur(&$obj) | ::getEventColor() |
| titre | méthode de composition du titre. Cette méthode est connue de l'événement | →title |
| over | méthode de composition de la description. Cette méthode est connue de l'événement. Cela retourne une portion de code HTML qui sera affichée lorsque la souris arrivera sur l'événement | ::getOverDescription |
| nom | description | défaut |
| couleur | méthode de la couleur (::ma_couleur()). Cette méthode est connue de la ressource | |
| titre | méthode de composition du titre | |
| over | méthode de composition de la description. Cette méthode est connue de la ressource. Cela retourne une portion de code HTML qui sera affichée lorsque la souris arrivera sur l'événement | |
Les moyens d'interaction sont définis à l'aide de callback. L'appel de ces callback est effectué à l'aide d'urls qui servent à interroger le serveur et à retourner l'information nécessaire au traitement.
| nom | description | défaut |
| clic vide | url composée ou fonction javascript javascript:moncode(event,this) | |
| contexte vide | url composée | |
| nom | description | défaut |
| select | url composée ou fonction javascript javascript:moncode(event,this) | %S%app=FDL&action=FDL_CARD&id=%EVT_IDINITIATOR% |
| context | url composée | ::getContextMenu() |
| expand | url composée : fait appel à une url qui retournera les évenements lié à l'événement courant | |
| | | |
| nom | description | défaut |
| select | url composée ou fonction javascript javascript:moncode(event,this) | |
| context | url composée | |
| expand | url composée : fait appel à une url qui retournera les évenements lié à la ressource courante | |
| | | |
| nom | description | défaut |
| begindate | date de début par défaut (peut être une méthode calcul (::getDate) | lundi de la semaine courante |
| enddate | date de fin par défaut (peut être une méthode calcul (::getDate(+7) | dimanche de la semaine courante |
| beginhour | heure de début de journée | 00:00 |
| endhour | heure de fin de journée | 23:59 |
| excludedays | jour de la semaine à ne pas afficher (exemple:samedi,dimanche) | |
| | | |
L'API cliente permet de manipuler l'objet graphique vue d'événements une fois que celui ci est initialisé sur le poste client.
L'API est en javascript. L'objet vue d'événements est dans une fenêtre HTML autonome (frame ou iframe) nommée.
<html>
<head>
<script>
function refreshmyview() {
var w=window.myview;
if (w) {
w.reloadEvents();
}
}
</script>
</head>
<body>
<p>L'interface de pilotage</p>
<button onclick="refreshmyview()">Clic pour recharger les événements</button>
<iframe name="myview" src="[CORE_STANDURL]&app=FREEEVENT&action=VIEWEVENTS&id=[ID_OF_MY_VIEW]">
</body>
</html>
| fonction | Description |
| reloadEvents(void) | efface les événements affichée, demande de nouveau les événements au serveurs et les réaffiche. Le contexte (période,zoom,…) est conservé.Ceci est différent de reload qui reconstruit complètement la vue sans garder le contexte |
| moveEvent(eventId,Date) | Déplace l'événement jusqu'à la date spécifiée. Cela ne modifie pas l'événement en base. Cela peut être appelé lors d'une modification en base |
| reloadEvent(eventId) | Réaffiche l'événement après interrogation du serveur |
| removeEvent(eventId) | Supprime l'événement dans la vue |
| displayEvent(eventId) | Affiche l'événement dans la vue s'il est présent. Appelable après un undisplayEvent() |
| undisplayEvent(eventId) | Efface l'événement dans la vue s'il est présent. Est réaffichable avec un displayEvent() |
| moveViewAt(date) | déplace la vue jusqu'à la date spécifiée. La période est inchangée |
| changePeriodTo(intervalDay) | modifie la période au nombre de jour précisé |
| translateViewTo(intervalDay) | déplace la date de début du nombre de jour précisé (peut être positif uo négatif) |
| setViewTo(beginDate,endDate) | affiche la vue dans la période comprise entre la date de début et la date de fin |
| setViewZoom(Zoom) | augmente ou diminue le facteur zoom en % par rapport à l'original |
| addEvent(eventId) | Ajoute l'événement référencé par son identifiant : charge les caractéristiques à partir de la base de données. |
| addEvents(searchId) | Ajoute la liste des événements retournés par la recherche. |
| clearEvents() | Efface tous les événements. |