Ce plugin budibase implémente le composant FullCalendar. Il propose l'utilisation du plugin timeLine qui nécessite une licence commerciale. Si vous utilisez le composant en mode timeLine dans le cadre d'une utilisation commerciale, il faudra renseigner la licence dans la configuration du composant budibase. Par défaut, le plugin utilise une licence temporaire non commerciale.
|
Il faut ensuite lier les données des évènements au dataprovider. Astuce : utiliser l'ID interne (_id) de la table comme id des évènements.
Les champs suivants sont à ajouter à la table des évènements :
Ajouter un dataprovider qui exposera les données des ressources timeline, puis positionner le dataprovider des évènements en tant que fils de ce dataprovider
Lier les champs suivants au dataprovider "timeline"
|
Le composant jtacalendar expose un contexte sous la forme d'un objet "calendrier" proposant les méthodes:
La structure d'un event :
{
id: l'id,
start: date de début,
end: date de fin,
title: titre,
resourceId: l'id de la ressource associée (mode timeline),
commmentaire: un commentaire associé (Facultatif),
allDay: true si allDay, false sinon,
color: couleur de l'évènement (green, red, ... Facultatif)
};
Lorsqu'on clique sur une date, le composant jtacalendar joue l'action "Click sur jour", et expose 3 propriétés :
let cal = $("New jtacalendar.calendrier");
cal.addEvent(evt);
N'oubliez pas ensuite de sauvegarder l'évènement créé dans la table...
Lorsqu'on clique sur un évènement, le composant calendar joue l'action "Click sur event", et expose l'event sur lequel on a cliqué.
Puis :let cal = $("New jtacalendar.calendrier");
cal.updateEvent(evt);
N'oubliez pas ensuite de sauvegarder l'évènement modifié dans la table...
Lorsqu'on déplace / redimentionne un évènement, le composant calendar joue l'action "Event change", et expose 3 propriétés :
Il s'agit simplement de sauvegarder l'évènement modifié (event) dans la table...
N'oubliez pas ensuite de supprimer l'évènement dans la table...
(cf Guillaume)
Dans le répertoire C:\produits\budibase, on place les fichiers .env et docker-compose.yaml récupérés dans l'install docker
npm install -g @budibase/cli
npm install -g yarn
C:\produits\budibase\plugins
On ajoute le répertoire des plugins (et son point de montage) au app-service volumes
app-service:
volumes:
- ./plugins:/plugins
On renseigne la variable PLUGINS_DIR avec le point de montage spécifié dans docker-compose.yaml
PLUGINS_DIR=/plugins
On initialise le plugin dans le répertoire des plugins
cd C:\produits\budibase\plugins
budi plugins --init component
et on renseigne les infos demandées (name, description, version, ...). Un répertoire est créé avec le nom du plugin
After you have created your new plugin directory, execute the following:
cd <le_répertoire_du_composant>
yarn build
ou
cd <le_répertoire_du_composant>
budi plugins --build
You can also re-build everytime you make a change to your plugin with the command:
budi plugins --watch
cd C:\produits\budibase
docker-compose up
// ou docker-compose up -d (-d pour "mode demon", sinon y rend pas la main, et il faudra faire CTRL C pour stopper budibase)
Le nouveau plugin doit maintenant apparaitre dans la liste des plugins installés dans budibase
cd C:\produits\budibase
docker-compose stop