Vote table refresh
(je décris en français… ce serait trop long à faire en anglais pour moi)
Pour l’entête sticky, le tableau est coupé en 2 :
-
#t-act
(actions pour voter, consulter le graph, modifier les colonnes) qui contient l’entête - et
#t-res
(résultats) qui contient le corps et le pied
Le scroll horizontal est synchronisé avec #t-res tbody
comme référence.
Donc on est obligé de garder #t-res
même si les résultats du sondage ne sont pas publique ou s’il n’y a pas encore eu de vote.
(lien vers l’article qui explique comment avoir du sticky + scroll horizontal)
Le formulaire de vote s’adapte à 3 cas de figure possibles, les options sont affichées :
- au passage de la souris sur pc
- au tap (focus), tap (click) sur mobile/tablette
- ou tout le temps visible si on navigue au clavier
Tout dépend des classes css placées en amont (
mousable
,focused
,kb-only
)
Le passage à la navigation clavier désactive le mode sticky. Il était compliqué de voter et scroller horizontalement sinon.
Le menu d’aide passe en position:fixed
et les raccourcis en position:relative
au dessus du bouton Enregistrer.
(À vérifier, mais normalement c’est censé être cette vue qui reste à l’impression)
J’ai mis à jour chart.js
et déplacé toute sa config dans core.js
. Ça évite de l’avoir en double sur vote_table_classic.tpl
et vote_table_date.tpl
.
Cette version permet plus de choses comme afficher/masquer des éléments du graphique depuis la légende (comme sur laue) donc j’ai ajouté les votes « Non » (avec une meilleure palette de couleurs aussi).
Dans la même moulinette js il y a un rappel des votants de chaque colonne en tooltip dans le pied (dans la limite du raisonnable).
J’ai ajouté des tooltips là où ça manquait (cellules en text-overflow: ellipsis
), suivi de ligne, boutons peu explicite.
Sur l’aide, j’ai remplacé la modale par un dropdown, le bouton se trouve dans le coin gauche du tableau. J’ai fusionné poll_hint_admin.tpl
et poll_hint.tpl
La légende permet d’afficher/masquer les résultats comme sur le graphique.
J’ai pu tester le rendu des pages mais pas les interactions poussées (voter, éditer…), il y a des erreurs dans les logs que je ne sais pas résoudre.
Il faudra ajouter aussi les traductions pour l’option « Je ne sais pas ».