Vue du Calendrier
Vue du calendrier
Une Vue du calendrier affiche les documents d'un type sur un calendrier, d'après leurs champs de date. Par exemple, vous affichez les tâches d'après leur date de début et de fin. Vous pouvez créer plusieurs vues pour un même type de document.
Prérequis
- Le type de document doit avoir au moins deux champs Date ou Date et heure (début et fin). Le même champ peut servir de début et de fin.
Créer une vue du calendrier
- Ouvrez la recherche (Ctrl+K) et saisissez Vue du calendrier.
- Cliquez sur Créer, puis saisissez le nom de la vue.
- Choisissez le Type de document de référence.
- Remplissez les champs obligatoires : Champ de sujet, Date de début et Champ pour la Date de Fin.
- Remplissez les champs facultatifs (voir le tableau).
- Enregistrez, puis cliquez sur Afficher le calendrier.
Chaque liste propose seulement les champs du bon type : champs de date pour les dates, cases à cocher pour la journée entière, champs Sélection pour les statuts, champs Couleur pour la couleur.
Champs de la vue
| Champ | Rôle |
|---|---|
| Champ de sujet | Texte affiché sur l'événement. Obligatoire. |
| Date de début / Champ pour la Date de Fin | Champs de date qui placent l'événement. Obligatoires. |
| Champ pour toute la journée | Case à cocher qui indique un événement sur toute la journée. |
| Champ de statut | Champ Sélection qui donne le statut. |
| Champ de couleur | Champ Couleur qui colore l'événement. |
| Champ de règle de récurrence | Champ qui contient la règle des événements récurrents. |
| Champ de statut secondaire | Champ Sélection affiché à gauche de l'événement. Le tableau Statut secondaire associe une Couleur à chaque Valeur. |
| Heure minimum quotidienne / Heure maximum quotidienne | Heures de début et de fin des journées affichées (06:00 et 21:00 par défaut). |
| Premier jour de la semaine | Jour qui commence la semaine (dimanche par défaut). |
| Afficher l'heure de fin de l'événement / Afficher la fin de l'événement | Affichage de l'heure et de la fin sur l'événement. Cochés par défaut. |
| Style de couleur des événements | Arrière-plan ou Bordure. |
Ouvrir la vue
Dans la liste du type de document, ouvrez le sélecteur de vue et choisissez Calendrier. Le sous-menu propose Par défaut (si le type de document a un calendrier standard) et vos vues personnalisées. L'adresse d'une vue est /desk/<type-de-document>/view/calendar/<nom de la vue>.
Si une nouvelle vue n'apparaît pas tout de suite, rechargez la page.
Exemple
Exemple fictif. Vous voulez voir les tâches d'un projet sur un calendrier.
| Champ | Valeur |
|---|---|
| Nom | Tâches par échéance |
| Type de document de référence | Tâche |
| Champ de sujet | Sujet |
| Date de début | Date de début prévue |
| Champ pour la Date de Fin | Date de fin prévue |
| Champ de statut | Statut |
| Premier jour de la semaine | Lundi |
Dans la liste des tâches, choisissez Calendrier > Tâches par échéance. Chaque tâche s'affiche de sa date de début prévue à sa date de fin prévue.
Dessiner des événements provisoires en pointillés (développeurs)
Cette section s'adresse aux développeurs d'applications. Elle concerne le calendrier standard d'un type de document, déclaré dans le fichier JavaScript de l'application avec frappe.views.calendar["<Type de document>"].
Dans ces réglages, la fonction facultative is_tentative_event indique quels événements sont provisoires :
- Elle reçoit l'événement (
d) une fois ses champs renseignés, c'est-à-dire avec les champs du document et les clés issues defield_map(title,start,end…). - Si elle renvoie une valeur vraie, l'événement est dessiné avec un contour en pointillés (1 px) et un fond transparent, quel que soit le Style de couleur des événements (Arrière-plan ou Bordure). Un événement provisoire ne ressemble donc jamais à un événement confirmé.
- Si elle n'est pas définie ou renvoie une valeur fausse, l'événement suit le style de couleur habituel.
- Elle s'applique à la vue Calendrier et à la vue Planning du calendrier Par défaut.
La fonction est lue dans les réglages du calendrier standard. Dans le code vérifié, une Vue du calendrier personnalisée ne recopie que fields et get_css_class (si apply_to_custom_calendar_views est activé) : is_tentative_event n'y est pas appliquée.
Exemple fictif. Dans une application, le type de document « Réservation » a un champ status dont la valeur Provisoire désigne une demande non confirmée :
frappe.views.calendar["Réservation"] = {
field_map: {
start: "starts_on",
end: "ends_on",
id: "name",
title: "subject",
},
is_tentative_event: (d) => d.status === "Provisoire",
};
Dans le calendrier par défaut des réservations, les demandes au statut Provisoire s'affichent en pointillés ; les autres gardent leur apparence habituelle.