-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rendu dynamique du formulaire de message #615
Conversation
let response = await fetch(dest.toString(), { | ||
method: this.formTarget.method.toUpperCase(), | ||
body: formData, | ||
}).finally(() => { | ||
this.onGoingRequestValue = false; | ||
}); | ||
|
||
if (response.ok) { | ||
let html = await response.text(); | ||
if (this.hasEmptyElementTarget) { | ||
this.emptyElementTarget.remove(); | ||
} | ||
|
||
this.messagesListTarget.insertAdjacentHTML("beforeend", html); | ||
this.formTarget.reset(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Qu'est-ce qu'on fait si jamais la requête échoue pour une raison ou une autre ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Prévenir l'usager et ne pas lui supprimer son message.
(Et croiser les doigts très fort ? Bon OK ce n'est pas une bonne stratégie…)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On le prévient comment ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Une erreur s'est produite, votre message n'a pas été envoyé." ? Avec un petit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah donc faut chercher une bilbio qui fait des popups 👀
(Moi je code pas ça à la main 😱)
|
||
(function () { | ||
// This JS code won't be executed on IE11, so we can write ES6 code | ||
class MessageForm extends Stimulus.Controller { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C'est sympa, quand-même, ES6+. Ça me gonfle vraiment qu'on s'oblige à supporter un navigateur que même son éditeur ne supporte plus.
@@ -372,6 +372,10 @@ class ReadonlyRequestView(LateStageRequestView, FormView): | |||
template_name = "view_organisation_request.html" | |||
form_class = RequestMessageForm | |||
|
|||
@property | |||
def step(self) -> HabilitationFormStep: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LateStageRequestView ne requiert plus de définir un step
. Tu n'en as besoin que si tu implémentes HabilitationStepMixin
, et tu n'as besoin de ce mixin que si la page affiche le fil d'Ariane (ce qui n'est pas le cas).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Toujours opé sur la suppression de code 🔥)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mais ça fait des warnings dans mon IDE, c'est trop nul 😢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bé on a le même et le mien ne me dit rien, comment se fait-il ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mais surtout il n'a aucune raison d'exiger ce step ici, on n'implémente rien qui le nécessite. Il faut peut-être reconstruire un index d'héritage ou chépaquoi.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah en fait il faut aussi enlever la définition de step
sur LateStageRequestView
. Même tarif que pour le reste : c'est inutile si pas d'implémentation de HabilitationStepMixin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si besoin je fais une PR à part pour remettre à plat les soucis d'héritage, en effet il y a quelques views qui devraient implémenter le stepmixin et qui ne le font pas, de fait ça marche "par hasard". En tout cas je ne veux pas qu'on se traîne des définitions de step et des lignes de code inutile pour des vues qui n'affichent pas de fil d'Ariane.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai tenté ceci https://github.com/betagouv/Aidants_Connect/pull/616/files
aidants_connect_habilitation/templates/request_messages/_message_item.html
Outdated
Show resolved
Hide resolved
2b967bf
to
7ba6b27
Compare
@property | ||
def step(self) -> HabilitationFormStep: | ||
return HabilitationFormStep.SUMMARY | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tut-tuuut J'ai enlevé, tu coup 👍
Est-ce qu'il y a besoin d'écrire plus de tests pour ça, finalement ? 🤔 |
7ba6b27
to
4e85173
Compare
4e85173
to
d171b7a
Compare
🌮 Objectif
Voici ma proposition pour le rendu dynamique du formulaire de message.
🔍 Implémentation