{#- Proposition de l'IA (cycle sans état serveur, spec § Propositions de l'IA). À importer : {% from "_proposition.html" import en_zone, apres_decision, differences %} Noms de champs (plan §2.10) : `portee`, `avant`, `apres`, plus `debut`, `fin`, `texte` (sélection) ou `adresse` (CV) selon la portée. Ces textes cachés sont ceux que le client peut de toute façon saisir lui-même : ils ne donnent aucun pouvoir en plus. Les erreurs ne ciblent jamais ce bloc mais `#etat-`. -#} {% from "_bandeau_ia.html" import barre_decision %} {% from "_composants.html" import bouton_enregistrer %} {#- Différence affichée à la place du champ (lettre, mode libre), dans la zone même : `` / `` avec un texte caché « ajouté » / « supprimé » (jamais la couleur seule). `avant` : texte actuel de la portée ; `apres` : texte proposé. -#} {% macro differences(zone, avant, apres) -%}
{{ avant | diff_mots(apres) }}
{%- endmacro %} {#- Contenu de `#editeur-` pendant qu'une proposition attend (lettre, mode libre) : la barre de décision à la place du bandeau, la différence à la place du champ, les champs cachés de la proposition (`cachees` : portee, avant, apres...), le champ qui garde le brouillon (`champ`, masqué) et Enregistrer désactivé (échange hors bande). `accepter`, `refuser` : `Decision` de `_bandeau_ia.html` ; `avant`, `apres` : texte complet avant et après la proposition (la différence en est faite ici). -#} {% macro en_zone(zone, accepter, refuser, resume, avant, apres, cachees, champ, auto=False, libelle_enregistrer="Enregistrer") -%} {{ barre_decision(zone, accepter, refuser, resume) }}
{{ differences(zone, avant, apres) }} {% for nom, valeur in cachees.items() %} {% endfor %} {{ champ }}
{{ bouton_enregistrer(zone, libelle_enregistrer, desactive=True, oob=True) }} {%- endmacro %} {#- Contenu de `#editeur-` une fois la proposition acceptée ou refusée : le bandeau replié (`pilule`, rendu par `rendre_bandeau`) à la place de la barre, le champ visible avec sa valeur. -#} {% macro apres_decision(zone, pilule, champ, auto=False) -%} {{ pilule }}
{{ champ }}
{%- endmacro %}