{% extends 'base.html.twig' %} {% block title %}Tool Toggle - Design System - Bubul{% endblock %} {% block body %}
{% verbatim %}{% include '_molecules/tool-toggle/tool-toggle.html.twig' with {
name: 'Moodia',
icon: 'bubul-moodia',
enabled: true
} %}{% endverbatim %}
Paramètre : enabled
enabled: true
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Slidia', icon: 'bubul-slidia', enabled: true } %}enabled: false
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Slidia', icon: 'bubul-slidia', enabled: false } %}Paramètre : locked: true — Utilisateur sans droit d'accès
locked: true (outil non disponible)
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Slidia', icon: 'bubul-slidia', locked: true } %}Comparaison des 3 états
Paramètre : size
sm
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Moodia', icon: 'bubul-moodia', enabled: true, size: 'sm' } %}md (défaut)
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Moodia', icon: 'bubul-moodia', enabled: true, size: 'md' } %}lg
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Moodia', icon: 'bubul-moodia', enabled: true, size: 'lg' } %}Paramètre : readonly: true
Sans bouton toggle (affichage seul)
{% include '_molecules/tool-toggle/tool-toggle.html.twig' with { name: 'Serenia', icon: 'bubul-serenia', enabled: true, readonly: true } %}Avec Stimulus controller et modal de confirmation
{% verbatim %}{% include '_molecules/tool-toggle/tool-toggle.html.twig' with {
name: 'Moodia',
icon: 'bubul-moodia',
enabled: user.hasTool('moodia'),
toggleUrl: path('admin_user_toggle_tool', {id: user.id, tool: 'moodia'}),
csrfToken: csrf_token('toggle-tool'),
modalId: 'modal-toggle-moodia'
} %}{% endverbatim %}
Le composant utilise le controller Stimulus tool-toggle
pour gérer l'interaction et ouvrir une modal de confirmation avant le changement d'état.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
name | string | (requis) | Nom de l'outil |
icon | string | null | Icône (bubul-moodia, bubul-serenia...) |
enabled | bool | false | État actuel de l'outil |
locked | bool | false | Outil bloqué (pas le droit) |
toggleUrl | string | null | URL API pour le toggle |
csrfToken | string | null | Token CSRF |
modalId | string | null | ID de la modal de confirmation |
readonly | bool | false | Masquer le bouton toggle |
size | string | md | sm, md, lg |
class | string | '' | Classes CSS additionnelles |