{#- Page Regles : barre d'onglets, panneau d'une nature (lettre, CV) et historique. Ce fichier ne contient que des macros. Ids : `#regles-` (le panneau, cible de l'enregistrement, du retour au defaut et du retour a une version), `#formulaire-regles-` (le formulaire, `data-brouillon`), `#entete-regles-` (badge, differences, usage : echange hors bande par l'apercu), `#apercu-regles-` et `#modifier-regles-` (les deux volets), `#etat-regles-` (zone d'etat de la barre, cible de toutes les erreurs), `#regles-historique`. Les onglets sont geres par l'ilot (`data-onglets-client`) : aucun aller-retour pour passer de l'un a l'autre. -#} {% from "_composants.html" import attributs_brouillon, barre_enregistrement %} {% from "_historique.html" import historique as historique_commun %} {#- La barre d'onglets. `onglets` : [(cle, libelle)] ; `actif` : cle de l'onglet montre ; `oob` : echange hors bande (retour a une version : l'onglet de la nature s'ouvre). -#} {% macro onglets_regles(onglets, actif, oob=False) -%}
{% for cle, libelle in onglets %} {% endfor %}
{%- endmacro %} {#- En-tete d'un panneau : badge, differences avec le defaut (depliables), ligne d'usage, « Revenir aux regles par defaut… » et son dialogue de confirmation. -#} {% macro entete(nature, libelle, usage, personnalisees, nb_differences, difference, oob=False) -%}
{% if personnalisees %}Personnalisées{% else %}Règles par défaut{% endif %} {% if personnalisees and nb_differences %}
{{ nb_differences }} différence{{ "s" if nb_differences > 1 else "" }} avec le défaut

Différences avec le texte d'origine : ajouté par vous (ajouté) · retiré du défaut (supprimé)

{{ difference }}
{% endif %}
{% if personnalisees %} {% else %} {% endif %}

{{ usage }}

{% if personnalisees %} {% endif %}
{%- endmacro %} {#- Le volet « Aperçu » : le Markdown rendu par le serveur. -#} {% macro volet_apercu(nature, texte) -%}
{{ texte | markdown }}
{%- endmacro %} {#- Le panneau d'une nature : en-tete, bascule Aperçu / Modifier, texte, barre d'enregistrement. `texte` : le brouillon (ou le fichier) ; `empreinte` : celle du fichier lu ; `origine` : `retour-N` quand le brouillon vient de l'historique ; `modifie` : le brouillon differe du fichier ; `actif` : le panneau est montre. -#} {% macro panneau(nature, libelle, usage, texte, empreinte, personnalisees, nb_differences, difference, message="", modifie=False, origine="", actif=True) -%}
{{ entete(nature, libelle, usage, personnalisees, nb_differences, difference) }}
{{ volet_apercu(nature, texte) }} {% if origine %}{% endif %} {{ barre_enregistrement("regles-" ~ nature, message, modifie, {"annuler": {"url": "/regles?onglet=" ~ nature, "cible": "#regles-" ~ nature, "select": "#regles-" ~ nature}}) }}
{%- endmacro %} {#- Une difference entre une version et le fichier courant, depliee sous sa ligne. -#} {% macro comparaison(numero, difference) -%}

Version {{ numero }} comparée à la version actuelle : les mots barrés sont ceux de la version {{ numero }} que la version actuelle n'a plus ; les mots soulignés sont ceux de la version actuelle.

{{ difference }}
{%- endmacro %} {#- Historique des deux fichiers de regles, plus recent en tete. `lignes` : `historique.Ligne` ; `jamais` : libelles des natures jamais modifiees. « Revenir a cette version » charge la version dans le brouillon de sa nature (rien n'est ecrit avant « Enregistrer »). -#} {% macro historique_regles(lignes, jamais, actif=False, oob=False) -%}
{{ historique_commun(lignes, "/regles/historique", "regles-historique", {"url": "/regles/{cle}/version", "cible": "#regles-{cle}", "echange": "outerHTML"}, jamais) }}
{%- endmacro %}