Projet

Général

Profil

Development #44692

Ajout d'une classe action pour avoir des boutons dans les notifications

Ajouté par Nicolas Roche il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
01 juillet 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

J'en aurai besoin pour #44413.
(Encart sur l'accueil de hobo pour demander le paramétrage d'éléments essentiels)


Fichiers


Demandes liées

Lié à Hobo - Development #44413: Encart sur l'accueil pour demander le paramétrage d'éléments essentielsFermé24 juin 2020

Actions

Révisions associées

Révision 52e178f3 (diff)
Ajouté par Thomas Jund (congés, retour le 29/04) il y a presque 4 ans

style: add an action button class to notifications (#44692)

Historique

#1

Mis à jour par Nicolas Roche il y a presque 4 ans

Je propose naïvement ce patch.
(mais comme j'ai dû augmenter la taille de toutes les notifications, je pense que ça ne sera pas satisfaisant.)

#2

Mis à jour par Nicolas Roche il y a presque 4 ans

  • Lié à Development #44413: Encart sur l'accueil pour demander le paramétrage d'éléments essentiels ajouté
#3

Mis à jour par Frédéric Péters il y a presque 4 ans

Non, et tu ne peux pas vraiment utiliser position: absolute, qui risque d'amener superposition.

Dans la maquette pointée là, j'avais ceci,

+<div class="warningnotice">
+  <p style="margin-top: 0; margin-bottom: 0.5em;">
+   Vous n’avez pas encore défini d’adresse d’expédition pour les courriels émis
+   par Publik.
+  <a style="float: right; margin-left: 1em; line-height: 1.2;" class="button">Paramétrer les courriels</a>
+  </p>
+</div>

(qui ne peut pas être repris tel quel).

#4

Mis à jour par Nicolas Roche il y a presque 4 ans

Merci, j'ai pu retirer position: absolute.
Par contre je n'arrive pas à ce que le bouton ne dépasse pas en dessous du cadre de la notification,
sans les agrandir toutes.

#5

Mis à jour par Thomas Jund (congés, retour le 29/04) il y a presque 4 ans

Je réponds sur le markup html (#44413) ici aussi.

L'utilisation du positionnement float a ses limites quand même.
Il permet bien de positionner le bouton à droite et il va se positionner en face de la dernière ligne de texte s'il n'a plus suffisamment de place.
Mais :
1- pas possible de positionner le bouton à droite de 2 ou 3 lignes de textes, Dés que la ligne de texte passe sur 2 lignes, le bouton descend forcement.
2- pas possible de gérer l'alignement du bouton par rapport au texte. Sans margin le bouton va assez bien s'aligner quand il est à droite d'une seule ligne de texte. mais il viendra se coller trop proche de la 1ère ligne quand il basculera en dessous de celle-ci. Et vouloir lui ajouter des margins ne fera que décaler l'autre alignement. Tu as essayé de compenser ce problème avec un line-height, ce qui n'est pas non plus une bonne idée (au passage, tu l'as appliqué globalement sur toutes les notices).
3- Si tu ne veux pas que bouton sorte visuellement du bloc, il te faut un clearfix sur la span.actions. Un simple `display: flow-root` fera l'affaire.

Personnellement je partirais sur flexbox en multiligne.
Profitons-en pour utiliser un <p> plutot qu'un span sur le wrapper actions
Et passer actions au singulier puisqu'il n'est pas question de pouvoir jouer plusieurs actions. Par contre avoir plusieurs items `action` au sein d'une notice pourquoi pas.

   <p class="action">
      <span class="action-label">
        {% trans "You have not yet defined a name for the platform; the generic title « Citizen Account » is used." %}
      </span>
      <a class="action-button" href="{% url 'theme-options' %}">{% trans 'Give a title' %}</a>
    </p>
  </div>

Et pour le CSS

    .action {
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: last baseline;
        justify-content: flex-end;
    }
    .action-label {
        flex: 1 1 25em;
        margin-bottom: .5em;
    }
    .action-button {
        @extend %button;
        flex: 0 0 auto;
        margin-left: .66em;
    }

J'ai bien l'alignement `last baseline` pour le bouton :)

#6

Mis à jour par Thomas Jund (congés, retour le 29/04) il y a presque 4 ans

J'ai poussé ma proposition sur les branches.

#7

Mis à jour par Nicolas Roche il y a presque 4 ans

Par contre avoir plusieurs items `action` au sein d'une notice pourquoi pas.

oui, on peut-dire s'il y a plusieurs boutons sur une notification, ils concerneront tous une même "action" de configuration.
(actions au pluriel c'était pour coller aux actions dans #appbar)

Profitons-en pour utiliser un <p> plutot qu'un span sur le wrapper actions

Arf, oui c'était ça mon principal soucis.

Je propose le patch au nom de ThomasJ (merci), la branche est à jour.

#8

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Solution proposée à Solution validée
#9

Mis à jour par Nicolas Roche il y a presque 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 52e178f34a9c331614f5d7ad69684fbec39f75fa
Author: Thomas JUND <tjund@entrouvert.com>
Date:   Thu Jul 9 16:15:09 2020 +0200

    style: add an action button class to notifications (#44692)
#10

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF