Formidable Tablesorter — afficher, trier et filtrer vos réponses

Le plugin Formidable Tablesorter, s’appuyant sur la librairie JS éponyme, permet d’afficher les réponses à un formulaire Formidable sous la forme d’un tableau, triable, filtrable, imprimable et exportable.

La présente documentation est valable à partir de la version 2.0 du plugin.

Installation

Le plugin nécessite, outre Formidable, le plugin Tablesorter dans sa version 2.0 ou supérieure.

Par défaut, le plugin Tablesorter intègre la librairie Tablesorter sur toutes les pages publiques et privées du site. Si l’usage est uniquement pour Formidable Tablesorter, il est recommandé de désactiver, via la configuration du plugin, cette insertion.

Accès au tableau

Une fois le plugin installé, un lien apparaît dans l’espace privé à gauche de la liste des réponses d’un formulaire, ainsi qu’à côté de la page du formulaire.

Lien vers le tableau de réponse
Lien vers le tableau de réponse

En suivant l’un de ces liens, nous accédons au tableau à double entrée.

Par défaut, celui-ci affiche :

  • tout d’abord, les onglets permettant de filtrer les réponses selon le statut;
  • puis des boutons d’action et une aide contextuel
  • de haut en bas : toutes les réponses du statut sélectionné
  • de gauche à droite :
    • l’identifiant et la date de chaque réponse
    • les champs extras éventuels associés à la réponse
    • les champs de la réponse

Il sera possible par la suite de masquer des colonnes et des lignes.

Le nombre de lignes est limité à 100 par pages, mais une pagination est proposée au delà.

Exemple de tableau
Exemple de tableau

Tri du tableau

Les entêtes de colonnes permettent de trier le tableau selon la valeur d’une colonne.

Attention : le tri se fait côté serveur, il faut donc parfois patienter un peu

Masquage et déplacement de colonnes / de champs

Selon le besoin, il est possible de masquer certaines colonnes. En cliquant sur le bouton “choix des colonnes”, la liste des colonnes apparaît. Il suffit de décocher les colonnes que l’on veut masquer.

Il est possible de déplacer des colonnes, en cliquant sur sur les flèches en haut des colonnes.
Attention, le réordonnancement se fait côté serveur, et peut donc prendre du temps.

Formulaire de masquage de colonne
Formulaire de masquage de colonne

Filtrage des lignes / des réponses

Il est possible de filtrer les réponses selon la valeur des champs. En dessous de chaque entête de colonne se trouve un champ de saisie. Il suffit d’y mettre la valeur que l’on veut conserver, puis de faire un retour ligne : seules les lignes contenant la valeur saisie s’afficheront désormais.

Le filtrage est souple :

  • pour des champs de type numérique, il est possible d’utiliser les opérateurs de comparaison. Mettre <10 pour afficher uniquement les réponses donnant une valeur inférieure à 10.
  • pour des champs de type texte, ne seront affichés que les réponses contenant la valeur saisie, mais il n’est pas nécessaire que la valeur du champ soit strictement identique à cette valeur. Ainsi, écrire “janvier” permettra d’afficher les réponses ayant “janvier 2019” comme “janvier 2020”.
  • pour en savoir plus, sachez que le plugin utilise la syntaxe des tests des affichages conditionnel du plugin Saisies, en omettant simplement le @@ initial.

Attention : le filtrage se fait côté serveur, il faut donc parfois patienter un peu

Sauvegarde des réglages

Les paramètres de filtres, de masquages, de tri de colonne, etc., sont conservés localement par le navigateur. Ils seront donc repris à la prochaine consultation depuis le même navigateur. Le navigateur doit supporter le système WebStorage.

Impression

Un bouton d’impression permet d’imprimer le tableau filtré, sans les colonnes et les lignes masquées.

Export

Des boutons permettent d’exporter le tableau filtré, sans les colonnes et les lignes masquées, dans des formats lisibles par les principaux tableurs du marché.

Réinitialisation

Deux boutons permettent de réinitialiser :

  1. Uniquement les filtres
  2. L’ensemble des réglages

Affichage côté public

Il est possible d’afficher le tableur côté public, en insérant dans un article le modèle <formidable_ts|id_formulaire=xxx>, où xxx est le numéro du formulaire.

Par mesure de sécurité, seul les personnes ayant le droit côté privé de voir les réponses peuvent voir les réponses.
Si vous voulez rendre cela public, il vous faudra surcharger vos autorisations. Pour rendre accessible l’ensemble des réponses de l’ensemble des formulaires, mettez dans votre fichiers mes_options.php le code suivant :

$GLOBALS['spip_pipeline']['autoriser'] .= "|mes_autorisations";
 
function mes_autorisations(){
	function autoriser_voirreponses($faire, $type, $id, $qui, $opt) {
		return true;
	}
}

Il vous faudra également inclure les feuille de style CSS fournit par le plugin, mais qui ne sont présente que côté privée par défaut :

  • css/formidable_ts.css ;
  • css/formidable_ts_prive_bloc_entete.css

Principaux changements entre la version 1.x et la version 2.x

  • Ajout d’une pagination
  • Aide contextuelle
  • Ajout de la possibilité d’éditer les champs avec les crayons
  • Amélioration du déplacement des colonnes
  • Différentes améliorations des styles CSS
  • Séparation des réponses en onglet, selon les statuts
  • Amélioration du tri sur les champs de date et sur les champs évènements
  • Possibilité d’insérer le tableau côté public via un modèle
  • Aspects techniques:
    • Uniformisation du code, pour utiliser tout le temps formidable_ts et non pas formidable_tablesorter
    • Utilisation de la librairie SPOUT pour les exports en tableaux;
    • Gestion asynchrone des filtres, tri et ordonanncement des colonnes : tout se fait côté PHP, qui renvoie un fichier JSON

updated on 15 January 2021

Discussion

Une discussion

  • 5
    Ilovespip

    Bonjour
    Merci pour ce plugin.
    Y’aurait-il un moyen simple d’exporter le tri sorter des résultats sur une page publique ?
    Avec mes remerciements

    • que voulez vous exporter? l’ibterface? ou bien le resultat d’un filtrage?

    • Ilovespip

      L’interface tableau tri-sorter et les réponses du formulaire.
      Merci beaucoup pour votre réponse Maïeul

    • Hum, j’hésite vraiment pour ca. Mais a priori je pourrais créer un modèle oui.

    • Alors j’hésite vraiment, vraiment, vraiment. Pour deux raisosn :
      -  en terme de confidentialité des données, il faut pouvoir s’assurer que les gens sachent ce qu’ils font
      -  en terme d’interface publique, risque de conflit js/css

      Dans tous les cas cela ne sera pas avnt la version 1.3.0 car je suis en train de faire une grosse grosse refonte.

      Je vous invite à ouvrir un ticket https://git.spip.net/spip-contrib-extensions/formidable_tablesorter/issues pour me rappeler de tenir compte de cela.

    • pour info c’est désormais possible, mais il vous faut à la main régler l’autorisation d’affichage public.

    Reply to this message

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom