Composants → bpm.commandPalette

bpm.commandPalette

Palette de commandes modale : recherche floue, navigation clavier (↑ ↓ Entrée, Échap) et ouverture par raccourci Cmd/Ctrl+K. Les commandes sont regroupées par catégorie.

StableNavigation⏱ 3 min

Aucune commande exécutée pour l’instant.

Cliquez sur « Ouvrir la palette (⌘K) » ou pressez Cmd/Ctrl+K, tapez « devis » ou « client », naviguez avec ↑ ↓ puis validez avec Entrée : la commande choisie s’affiche sous le bouton.

Python
commands = [
    {"id": "devis", "label": "Créer un devis", "description": "Nouveau devis client", "icon": "request_quote", "shortcut": "⌘D", "category": "Ventes", "action": run_devis},
    {"id": "facture", "label": "Créer une facture", "description": "Facturer une commande livrée", "icon": "receipt_long", "category": "Ventes", "action": run_facture},
    {"id": "client", "label": "Rechercher un client", "description": "Fiche client, encours, historique", "icon": "person_search", "shortcut": "⌘F", "category": "Ventes", "action": run_client},
    {"id": "dashboard", "label": "Aller au tableau de bord", "icon": "dashboard", "shortcut": "G D", "category": "Navigation", "action": run_dashboard},
    {"id": "rapports", "label": "Ouvrir les rapports", "description": "CA, marge, top produits", "icon": "monitoring", "category": "Navigation", "action": run_rapports},
    {"id": "article", "label": "Ajouter un article", "description": "Créer une référence au catalogue", "icon": "add_box", "category": "Stock", "action": run_article},
    {"id": "inventaire", "label": "Lancer un inventaire", "description": "Comptage du dépôt principal", "icon": "inventory", "category": "Stock", "action": run_inventaire},
    {"id": "inviter", "label": "Inviter un collaborateur", "icon": "person_add", "category": "Paramètres", "action": run_inviter},
    {"id": "theme", "label": "Changer de thème", "description": "Basculer clair / sombre", "icon": "dark_mode", "category": "Paramètres", "action": run_theme},
    {"id": "export", "label": "Exporter les données", "description": "Export CSV de la période", "icon": "download", "shortcut": "⌘E", "category": "Paramètres", "action": run_export},
]
bpm.commandPalette(commands=commands, on_close=fermer_palette)
PropTypeDéfautRequisDescription
commands{ id, label, description?, icon?, shortcut?, category?, action }[]OuiListe des commandes. action est exécutée à la sélection ; category groupe visuellement ; shortcut est affiché à droite (indicatif).
isOpenbooleanNonMode contrôlé : état d'ouverture. Si omis, la palette gère son ouverture seule via Cmd/Ctrl+K.
onClose() => voidOuiCallback de fermeture (Échap, clic sur le fond, ou après exécution d'une commande).
onRequestOpen() => voidNonAppelé sur Cmd/Ctrl+K en mode contrôlé (quand isOpen est fourni).
placeholderstring"Rechercher une action..."NonTexte d'aide du champ de recherche.
classNamestringNonClasses CSS additionnelles.

Exemples

bpm.commandPalette(commands=[{"id": "save", "label": "Enregistrer", "action": save}], on_close=fermer)
bpm.commandPalette(
    commands=[
        {"id": "devis", "label": "Créer un devis", "category": "Ventes", "shortcut": "⌘D", "action": creer_devis},
        {"id": "client", "label": "Rechercher un client", "category": "Ventes", "action": chercher_client},
    ],
    is_open=palette_ouverte,
    on_close=fermer_palette,
    on_request_open=ouvrir_palette,
)
bpm.commandPalette(commands=commands, on_close=fermer, placeholder="Que voulez-vous faire ?")