{# # PARTIAL: SLIDIA — MODALE « MA BIBLIOTHÈQUE » (MASQUES .PPTX) # Extrait de templates/slidia/index.html.twig, qui l'inclut une fois. # # Porte le contrôleur `slidia--template-library` : import d'un .pptx, filtres de type, # grille de masques, aperçu d'une mise en page avec ses zones de contenu, navigation # entre mises en page, exclusion d'une mise en page pour l'IA, renommage et suppression. # Les deux modales satellites (renommer / supprimer un masque) suivent la modale : elles # doivent rester DESCENDANTES de l'élément du contrôleur pour que Stimulus les résolve. # # Le bouton « Mes masques » vit dans l'en-tête, hors de cet élément : il passe par # `slidia--list#openLibraryModal`, qui appelle `open()` ici via l'outlet Stimulus # `data-slidia--list-slidia--template-library-outlet="#slidia-template-library"`. # L'id de ce conteneur est donc contractuel — cf. templates/slidia/index.html.twig. # # À inclure DANS le conteneur `.sdl-slidia` d'index.html.twig : la modale dépend des # variables CSS de thème (--color-primary…) posées en style en ligne sur ce conteneur. # # DEUX MODES (`mode`, 'library' par défaut) : # - 'library' — sur /slidia : le pied mène à la création (« Créer avec ce masque »), et # `createTooltipHtml` explique le blocage quand les tokens manquent. # - 'picker' — sur l'écran de paramètres : le pied REND le masque choisi au formulaire # (« Choisir ce masque ») au lieu de naviguer. `createTooltipHtml` n'y sert pas : le # verrou de tokens a déjà été franchi pour arriver sur cet écran. # La modale elle-même est identique dans les deux cas — c'est tout l'intérêt : l'utilisateur # retrouve la même bibliothèque, avec ses imports, ses filtres et son aperçu, là où il # choisissait auparavant dans une grille appauvrie qui ne montrait rien. # # DONNÉES REQUISES : sdColor, templates, templatesJson, canCreate, lastUsedTemplateId, # et createTooltipHtml en mode 'library'. #} {% set mode = mode|default('library') %}
{# ══════════════════════════════════════════ MODALE BIBLIOTHÈQUE DE MASQUES ══════════════════════════════════════════ #} {# ══════════════════════════════════════════ MODALE RENOMMER MASQUE BIBLIOTHÈQUE ══════════════════════════════════════════ #} {% embed '_organisms/rename-modal/rename-modal.html.twig' with { title: 'Renommer le masque', subtitle: 'Donnez un nouveau nom à ce masque PowerPoint.', placeholder: 'Nom du masque', hint: 'Max. 20 caractères', color: sdColor, modalAttr: {'data-slidia--template-library-target': 'renameModal', 'style': 'z-index:70'}, inputAttr: { 'data-slidia--template-library-target': 'renameInput', 'data-action': 'keydown.enter->slidia--template-library#confirmRename keydown.escape->slidia--template-library#closeRenameModal', 'maxlength': '20' }, cancelAttr: {'data-action': 'click->slidia--template-library#closeRenameModal'}, confirmAttr: {'data-action': 'click->slidia--template-library#confirmRename'} } only %}{% endembed %} {# ══════════════════════════════════════════ MODALE SUPPRIMER MASQUE BIBLIOTHÈQUE ══════════════════════════════════════════ #} {% embed '_organisms/delete-modal/delete-modal.html.twig' with { title: 'Supprimer ce masque ?', modalAttr: {'data-slidia--template-library-target': 'deleteModal', 'data-action': 'keydown.esc@window->slidia--template-library#closeDeleteModal', 'style': 'z-index:70'}, cancelAttr: {'data-action': 'click->slidia--template-library#closeDeleteModal'}, confirmAttr: {'data-action': 'click->slidia--template-library#confirmDelete'} } only %} {% block description %}

sera retiré définitivement de votre bibliothèque. Cette action est irréversible.

{% endblock %} {% endembed %}
{# /slidia--template-library #}