Development #50010
navigation entre snapshots
0%
Description
Dans la barre latérale de visualisation d'un snapshot ça pourrait être très utile d'avoir des liens précédent/suivant, pour passer depuis une page "profonde" (par exemple l'affichage des actions d'un statut) d'une version à une autre, quand on cherche l'origine d'un changement.
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0001-snapshots-add-navigation-links-50010.patch 0001-snapshots-add-navigation-links-50010.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
branche basée sur #50009
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier Capture d’écran de 2021-01-12 15-39-51.png Capture d’écran de 2021-01-12 15-39-51.png ajouté
- Fichier Capture d’écran de 2021-01-12 15-39-43.png Capture d’écran de 2021-01-12 15-39-43.png ajouté
- Fichier Capture d’écran de 2021-01-12 15-40-02.png Capture d’écran de 2021-01-12 15-40-02.png ajouté
avec un petit coup de pinceau sans doute :)
Mis à jour par Lauréline Guérin il y a plus de 3 ans
Mis à jour par Frédéric Péters il y a plus de 3 ans
Pour les liens de pagination on fait aussi < et > donc je dirais que ça passe ici aussi (côté combo on a pour la navigation entre pages des icônes via FontAwesome mais il n'y existe pas de << ou |< pour le retour au premier).
Je garderais cependant tout le temps les 4 boutons présents, en marquant comme désactivé ceux ne menant pas sur une version différente, ce genre :
if snapshot.id != snapshot.first: - r += htmltext(' <a href="../../%s/view/">≪</a>') % (snapshot.first) + r += htmltext(' <a class="button" href="../../%s/view/">≪</a>') % (snapshot.first) + else: + r += htmltext(' <a class="button disabled" href="../../%s/view/">≪</a>') % (snapshot.first)
(mais c'est peut-être lisible de faire tenir sur une ligne, note que tu peux mettre le % à l'intérieur de l'htmltext vu qu'on sait que la variable est safe)
(et je me rends compte que le style n'existe pas → j'ai créé et mis un patch dans #50302)
Je serais aussi pour centrer les boutons,
if snapshot.previous or snapshot.next: - r += htmltext('<p>') + r += htmltext('<p class="snapshots-navigation">')
et
+++ b/wcs/qommon/static/css/dc2/admin.scss +p.snapshots-navigation { + text-align: center; +}
Mis à jour par Lauréline Guérin il y a plus de 3 ans
Mis à jour par Frédéric Péters il y a plus de 3 ans
if snapshot.id != snapshot.first: r += htmltext(' <a class="button" href="../../%s/view/">≪</a>' % (snapshot.first)) r += htmltext(' <a class="button" href="../../%s/view/"><</a>' % (snapshot.previous)) else: r += htmltext(' <a class="button disabled" href="../../%s/view/">≪</a>' % (snapshot.first)) r += htmltext(' <a class="button disabled" href="../../%s/view/"><</a>' % (snapshot.first))
Ça m'a l'air bizarre.
Ce que j'imaginais :
@@ -66,11 +66,19 @@ def snapshot_info_block(snapshot): r += htmltext('<p>') if snapshot.id != snapshot.first: r += htmltext(' <a href="../../%s/view/">≪</a>') % (snapshot.first) + else: + r += htmltext(' <a href="../../%s/view/" class="disabled">≪</a>') % (snapshot.first) if snapshot.previous: r += htmltext(' <a href="../../%s/view/"><</a>') % (snapshot.previous) + else: + r += htmltext(' <a href="../../%s/view/" class="disabled"><</a>') % (snapshot.previous) if snapshot.next: r += htmltext(' <a href="../../%s/view/">></a>') % (snapshot.next) + else: + r += htmltext(' <a href="../../%s/view/" class="disabled">></a>') % (snapshot.next) if snapshot.id != snapshot.last: r += htmltext(' <a href="../../%s/view/">≫</a>') % (snapshot.last) + else: + r += htmltext(' <a href="../../%s/view/" class="disabled">≫</a>') % (snapshot.last) r += htmltext('</p>') return r.getvalue()
(et j'ai tenté de faire tenir sur une ligne mais j'ai trouvé ça moins lisible,
+ r += htmltext(' <a href="../../%s/view/" %s>≪</a>' % ( + snapshot.first, 'class="disabled"' if not snapshot.first else '')) </pe>
Mis à jour par Lauréline Guérin il y a plus de 3 ans
En fait c'est pareil: si snapshot.id == snapshot.first, alors snapshot.previous vaut None
de même pour last et next
De plus:
if snapshot.previous: r += htmltext(' <a href="../../%s/view/"><</a>') % (snapshot.previous) else: r += htmltext(' <a href="../../%s/view/" class="disabled"><</a>') % (snapshot.previous)
si on va dans le else, on aura un None dans l'url
Mis à jour par Frédéric Péters il y a plus de 3 ans
Ok je trouve ça étonnamment compliqué :/
S'il y a un snapshot précédent, il y a nécessairement un snapshot.first, et donc il ne correspondra pas au snapshot actuel, et donc il y aura toujours first et previous actifs.
S'il n'y a pas de snapshot précédent, c'est qu'on est nécessairement sur le premier snapshot, et donc il y aura toujours first et previous inactifs.
Peut-être dans les else remplir les href avec "#" pour éviter cette impression d'erreur dans la répétition, et ajouter un commentaire type "# currently browsing the first snapshot, display links as disabled" ?
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0001-snapshots-add-navigation-links-50010.patch 0001-snapshots-add-navigation-links-50010.patch ajouté
comme ça ?
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Oui, merci pour mon vieux cerveau :)
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit e833ab2ba0182a1facd5f4a256599d646668357f Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Tue Jan 12 15:39:09 2021 +0100 snapshots: add navigation links (#50010)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
snapshots: add navigation links (#50010)