[Custom Widget] quelques widgets GRIST

Bonjour à tous. Je vous partage quelques petits widgets personnalisés qui pourraient peut être vous intéresser.

Organigramme

Permet de connecter un organigramme sur une table GRIST

  • Zoom +/- à la souris
  • Ouverture / fermeture des noeuds
  • Déplacement de l’organigramme par glisser / tirer
  • Recherche sur le nom
  • Visualisation du parcours entre l’agent et le numéro 1 de l’organigramme en cliquant sur l’identifiant (#xx)
  • Modification du titre et de la vignette (enregistrer le widget après modification)

Tables et permissions

  • Ce plugin permet de générer un rapport complet sur les tables et les permissions avancées du document
  • Ce rapport est téléchargeable au format HTML

Vérification d’adresse

Ce plugin permet de vérifier une adresse postale, en interrogeant l’API https://api-adresse.data.gouv.fr/

  • Créer / modifier un enregistrement, puis cliquez sur « Rechercher » : Le plugin vous propose alors les x premiers résultats retournés par l’API « api-adresse-data »
  • NB : Vous pouvez saisir tout ou partie de l’adresse (Exemple : saisir « rue de Gaulle 55 » dans le nom de la voie)
  • Cliquez sur l’un des résultats pour mettre à jour la table GRIST

Tirage aléatoire

Permet d’effectuer un tirage aléatoire de x (ou x%) lignes dans une table GRIST

Sources et URL utilisables

Si vous souhaitez les utiliser, je vous recommande de copier les sources (index.html et api.js) dans un « custom widget builder » (et de retirer la référence à api.js dans le HTML)

10 « J'aime »

Merci pour le partage :clap:

1 « J'aime »

Bravo c’est génial ! Il faudrait ajouter ces widgets dans la bibliothèque de nos instances !

Hello @jta87

Pour suivi, j’ai forké ton dépot ici GitHub - gristgouv/asp-plugins: Grist custom widgets built by the ASP et une fois que j’aurai audité le code je les ajouterai à la bibliothèque de widgets de l’instance interministérielle et ANCT.

Le seul objectif du fork, c’est d’avoir une maitrise sur les versions du widget déployées en prod (et de pouvoir auditer les modifications). Si jamais on venait à faire évoluer ces widgets, on ne manquerait pas de contribuer nos modifs évidemment :slight_smile:

Rappelle-moi pour qui tu travailles au fait ? ASP = Agence de Services et de Paiements ?

2 « J'aime »

En effet, je travaille à l’Agence de Services et de Paiements (au laboratoire numérique = département innovation de la DNSI). Nous utilisons la suite BNUM, et donc GRIST est (sera bientôt…) dans le panier numérique des agents de l’ASP.

Bonjour et merci pour ces widgets. Je suis intéressé par le widget Organigramme, il fonctionne très bien de mon côté sur l’instance ANCT. Mais, je voudrais modifier le rendu HTML. Est ce possible ? Si oui, comment ?

Oui, c’est possible. Il faut récupérer le plugin (grist-plugins/organigramme at main · jtab87/grist-plugins · GitHub) dans un custom builder plugin (index.html dans la section HTML, en retirant script src=« api.js », et api.js dans la section javascript), puis modifier le js pour générer l’objet chart avec une autre implémentation de d3.OrgChart

chart = new d3.OrgChart()
ma nouvelle implémentation
.render();
}

De nombreux exemples se trouvent ici :

On peut même les tester et les modifier en ligne…

Par contre, la documentation concernant l’objet d3.OrgChart est un peu « légère »

Tu peux également ne modifier que le HTML généré (à partir de la ligne 114 dans api.js). Noter l’accès aux données de GRIST via l’objet d.data[…]

Je te remercie pour ta réponse très complète.

Bonjour @jta87 , vraiment hyper pratique ton widget « Tables et permissions », merci beaucoup !

Le pompom serait d’avoir une section « Vues », pour voir quelles tables sont utilisées dans quelles vues, ce qui serait très pratique quand on fait le ménage ! Je crois qu’on a pas moyen a l’heure actuelle dans Grist de connaître l"utilisation" des tables sources. Ou je n’ai pas trouvé ?

Bonjour et merci pour ces widgets !

Concernant le widget Organigramme, j’ai tenté de l’utiliser pour naviguer dans notre annuaire des structures mais ça ne fonctionne pas (« Il faut un agent sans N+1 (parentId=null)
L’organigramme ne peut pas fonctionner » — alors que j’ai plusieurs entités sans N+1…) est-ce que je peux t’envoyer l’URL de mon document Grist pour que tu jettes un œil ? Pas tant pour résoudre mon problème que pour adapter éventuellement le widget à cette structure de données un peu différente, si ça t’intéresse… Merci d’avance

Pour information, nous avons réussi avec mes collègues à faire fonctionner le widget organigramme. Il faut bien suivre le tuto du readme (ici sur github) dans la configuration des colonnes (grist-plugins/organigramme/README.md at main · jtab87/grist-plugins · GitHub) et cela règle le problème du N+1.

Pour que l’organigramme fonctionne, il faut qu’un et un seul enregistrement possède un champ "parentId " qui soit null (qui contienne la valeur null)

Astuce : Si votre organisation comporte plusieurs « chefs » (sans N+1), ajouter à votre liste un enregistrement fictif représentant votre entreprise, et associer tous les chefs à cet enregistrement

1 « J'aime »