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.
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)| Prop | Type | Défaut | Requis | Description |
|---|---|---|---|---|
commands | { id, label, description?, icon?, shortcut?, category?, action }[] | — | Oui | Liste des commandes. action est exécutée à la sélection ; category groupe visuellement ; shortcut est affiché à droite (indicatif). |
isOpen | boolean | — | Non | Mode contrôlé : état d'ouverture. Si omis, la palette gère son ouverture seule via Cmd/Ctrl+K. |
onClose | () => void | — | Oui | Callback de fermeture (Échap, clic sur le fond, ou après exécution d'une commande). |
onRequestOpen | () => void | — | Non | Appelé sur Cmd/Ctrl+K en mode contrôlé (quand isOpen est fourni). |
placeholder | string | "Rechercher une action..." | Non | Texte d'aide du champ de recherche. |
className | string | — | Non | Classes 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 ?")