Supprime la couche de formes libres, déplace la navigation de page dans le panneau gauche
Build and deploy / test-python (push) Successful in 7m43s
Build and deploy / test-js (push) Successful in 57s
Build and deploy / lint-python (push) Successful in 5m29s
Build and deploy / lint-js (push) Failing after 1m16s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped
Build and deploy / sonarqube (push) Failing after 5m42s
Build and deploy / test-python (push) Successful in 7m43s
Build and deploy / test-js (push) Successful in 57s
Build and deploy / lint-python (push) Successful in 5m29s
Build and deploy / lint-js (push) Failing after 1m16s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped
Build and deploy / sonarqube (push) Failing after 5m42s
Formes libres (rectangle/cercle/triangle/trait) retirées de bout en bout (bibliothèque, rendu, panneau Propriétés, grille d'accroche, JS/CSS associés) — fonctionnalité non retenue. La bande de vignettes visuelles des pages au-dessus du canevas est remplacée par une section "Pages" dans le panneau de gauche (liste simple : ajouter/renommer/réordonner (haut/bas)/supprimer), à la place de l'ex-catégorie "Mise en page" de la bibliothèque. La route document_edit ne rend plus qu'une seule page (celle affichée) au chargement, au lieu de toutes les pages pour alimenter les anciennes vignettes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
57c4de3d8a
commit
8dc4b35dcf
@@ -21,15 +21,12 @@ def document_edit(slug: str) -> str:
|
||||
PREMIÈRE page (triée par order_index) — changer de page se fait
|
||||
ensuite entièrement côté client via /document/<slug>/render?page_id=
|
||||
(voir static/document/js/document-editor.js), jamais un rechargement
|
||||
complet de cette route.
|
||||
|
||||
`rendered_pages` (retour utilisateur du 21/09/2026 : "je préfère
|
||||
avoir des miniatures") rend le document de CHAQUE page — pas
|
||||
seulement la page active — pour construire les vraies vignettes
|
||||
miniatures de la bande au-dessus du canevas (voir templates/document/
|
||||
document_edit.html, .docPageThumbInner) : un rendu réduit (CSS
|
||||
`transform: scale()`) du contenu RÉEL de chaque page, pas une carte
|
||||
générique numéro+titre.
|
||||
complet de cette route. La navigation entre pages (ajout/renommage/
|
||||
suppression/réordonnancement) vit dans une section dédiée du panneau
|
||||
gauche (retour utilisateur du 21/09/2026 : "une section qui s'ajoute
|
||||
dans le panneau de gauche pour ajouter une page et naviguer entre
|
||||
elles"), qui n'a besoin que des métadonnées de page (`pages`), jamais
|
||||
d'un rendu de leur contenu.
|
||||
|
||||
Les attributs de chaque élément sont revalidés (document_engine.
|
||||
sanitize_element_attributes) avant d'atteindre le client — jamais les
|
||||
@@ -42,16 +39,10 @@ def document_edit(slug: str) -> str:
|
||||
pages = document_engine.list_document_pages(slug)
|
||||
active_page = pages[0]
|
||||
|
||||
rendered_pages: dict[int, str] = {}
|
||||
active_elements: list[dict[str, Any]] = []
|
||||
for page in pages:
|
||||
page_elements = [
|
||||
{**el, "attributes": document_engine.sanitize_element_attributes(el["kind"], el["attributes"])}
|
||||
for el in document_engine.list_document_elements(slug, page["id"])
|
||||
]
|
||||
rendered_pages[page["id"]] = document_engine.render_document(page_elements)
|
||||
if page["id"] == active_page["id"]:
|
||||
active_elements = page_elements
|
||||
active_elements: list[dict[str, Any]] = [
|
||||
{**el, "attributes": document_engine.sanitize_element_attributes(el["kind"], el["attributes"])}
|
||||
for el in document_engine.list_document_elements(slug, active_page["id"])
|
||||
]
|
||||
|
||||
return render_template(
|
||||
"document/document_edit.html",
|
||||
@@ -59,8 +50,7 @@ def document_edit(slug: str) -> str:
|
||||
pages=pages,
|
||||
active_page=active_page,
|
||||
elements=active_elements,
|
||||
rendered_document=rendered_pages[active_page["id"]],
|
||||
rendered_pages=rendered_pages,
|
||||
rendered_document=document_engine.render_document(active_elements),
|
||||
element_library=document_engine.ELEMENT_LIBRARY,
|
||||
element_kind_labels=document_engine.ELEMENT_KIND_LABELS,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user