Spécification d'interface de vue d'événements

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.

recherche des événements

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)

options d'affichage

options générales

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

options par famille d'événements

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

options par famille de ressources

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

moyens d'interaction

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.

options générales

nom description défaut
clic vide url composée ou fonction javascript javascript:moncode(event,this)
contexte vide url composée

options par famille d'événements

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

options par famille de ressources

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

options de date

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)

Api cliente

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.
contribution/cookbook/freeevent/spec.txt · Dernière modification: 11/03/2010 17:20 (édition externe)