Stage Flavien Crochard Semaine 3
Mise en place pour l'onglet Planning des vacances
Après avoir créé l'onglet Gestion plages de vacances, créer ce nouvel Onglet nécessite moins de fichiers.
A la racine du module dPpersonnel, on a les fichiers :
-
vw_planning_vacances.php: c'est le contrôleur principal du planning -
ajax_planning.php: ce contrôleur est appelé lorsque le planning est rechargé en ajax
Et au niveau du dossier templates :
-
vw_planning_vacances.tpl: la vue principale du planning, elle inclueinc_planning.tpletinc_planning_annee.tplqui seront affichés en ajax. -
inc_planning.tpl: les modes semaine et mois sont compris dans cette vue -
inc_planning_annee.tpl: cette vue contient le mode année -
vw_conge.tpl: ce fichier contient la vue qui est appelée dans le module mediusers, accessible par le bouton Mon compte, puis dans le volet Congés.
Le secret du drag & drop
Tout réside dans l'utilisation de Scriptaculous.
On déclare un élément comme étant draggable.
Ensuite, on a définit la propriété snap : c'est-à-dire un pas pour le déplacement de cet élément. L'ajout de l'attribut Constraint avec pour valeur Horizontal permet de limiter le déplacement de l'élément selon une ligne horizontale.
Enfin, la propriété onEnd permet d'associer une fonction à appeler quand l'élément est droppé. Cette fonction va appeler le contrôleur do_plagevac_aed pour enregistrer les modifications apportées sur la plage qui a subi le drag & drop. De plus, cela permet de ne pas réactualiser tout le planning.
Un détail technique : il faut également également être en mesure de replacer une plage qui rentrerait en conflit avec une autre plage, c'est-à-dire si accidentellement une partie ou toute une plage est déposée sur une zone qu'une autre plage occupe déjà. Dans ce cas, la plage déposée doit revenir à sa place initiale. Pour ce faire, une autre propriété onStart existe. On lui associe la fonction savePosition qui sauvegarde la position de la plage au moment où on clique dessus pour la dragger.
Dernièrement modifié par rhum1
, Basé sur le travail de
lryo
,
flavien
et
system
.
Modifiée dernièrement le mercredi 24 de février, 2010 09h38m01.
