Skip to main content
Le composant OrganizationMemberDetail offre une interface unifiée pour consulter et gérer le profil et les rôles attribués d’un membre d’une organization.

Exigences de configuration

Configuration Auth0 requise — Assurez-vous que votre locataire est configuré avec l’API My Organization. Consulter le guide de configuration →

Installation

pnpm

Pour commencer

Transmettez un userId de votre route au composant. Reliez onBack à votre routeur afin que le bouton de retour ramène à la liste des membres.

Props

Props requis


Props d’affichage

Les props d’affichage contrôlent le rendu du composant sans en modifier le comportement. Utilisez-les pour masquer des sections ou activer le mode lecture seule.

Props d’action

Les props d’action gèrent les interactions de l’utilisateur. Utilisez les hooks de cycle de vie (onBefore, onAfter) pour les intégrer au routage et aux outils d’analytique de votre application. onBack Type : () => void Se déclenche lorsque l’utilisateur sélectionne le bouton Retour dans l’en-tête, ainsi qu’automatiquement après la suppression d’un membre. Connectez ce rappel à votre routeur pour revenir à la liste des membres.
removeFromOrganizationAction Type : ComponentAction<string> Contrôle le retrait d’un membre de l’organization (l’adhésion seulement; le profil utilisateur n’est pas supprimé du magasin d’utilisateurs Auth0). Une fois le retrait effectué, le composant appelle le rappel d’action ainsi que onBack. Ne vous fiez pas à l’ordre d’exécution si onAfter effectue des opérations asynchrones.
  • onBefore(userId) demande une confirmation avant le retrait. Retournez false pour annuler.
  • onAfter(userId) s’exécute après le retrait.
assignRolesAction Type : ComponentAction<{ userId: string; roleIds: string[] }> Se déclenche après l’attribution de rôles depuis l’onglet des rôles. Le nombre de rôles sélectionnés est limité à 10 par demande d’attribution, et un même membre peut se voir attribuer jusqu’à 50 rôles au total. Les deux hooks reçoivent { userId, roleIds }.
  • onBefore({ userId, roleIds }) valide la sélection. Retournez false pour annuler.
  • onAfter({ userId, roleIds }) écrit dans un journal d’audit ou actualise les badges de rôles.
removeRolesAction Type : ComponentAction<{ userId: string; roleIds: string[] }> Se déclenche lors du retrait de rôles attribués dans le tableau des rôles (prend en charge jusqu’à 10 rôles par demande de retrait). Les deux hooks reçoivent { userId, roleIds }.
  • onBefore({ userId, roleIds }) demande une confirmation avant le retrait des rôles. Retournez false pour annuler.
  • onAfter({ userId, roleIds }) actualise l’état ou les journaux d’audit.

Props de personnalisation

customMessages Remplacez les textes fournis avec le composant. Chaque champ est facultatif et utilise la valeur par défaut intégrée s’il n’est pas défini.
member.detail — Vues et onglets principaux
  • back_button, tabs.details, tabs.roles
member.detail.user_details — Affichage du profil
  • title, name, email, phone_number, created_at, last_login
member.detail.actions.remove_from_organization — Action et boîte de dialogue de retrait
  • title, description, button
  • modal.title, modal.description, modal.cancel_button, modal.confirm_button
  • success
member.detail.roles — Onglet et tableau des rôles
  • title, description, assign_button
  • roles_selected, roles_selected_plural, max_selection_message, searching_message
  • table.name, table.description, table.empty_message, table.remove_button_label
member.detail.roles.assign_modal — Fenêtre modale d’attribution de rôle
  • title, description
  • roles_label, roles_placeholder
  • submit_button, cancel_button, no_roles_available
member.detail.roles.remove_confirm — Boîte de dialogue de confirmation du retrait de rôle
  • title, title_plural, description, description_plural
  • confirm_button, cancel_button
member.detail.error — Erreurs d’API
  • fetch_failed, fetch_roles_failed, remove_from_organization_failed, assign_role_failed, remove_role_failed

styling Personnalisez l’apparence à l’aide de variables CSS et de remplacements de classes. Les variables prennent en charge les portées light, dark et common. Les remplacements de classes ciblent des emplacements nommés dans l’arborescence du composant.
Variables—propriétés CSS personnalisées
  • common—appliquées à tous les thèmes
  • light—thème clair seulement
  • dark—thème sombre seulement
Classes—remplacements de classes sur des éléments ciblés
  • OrganizationMemberDetail-root
  • OrganizationMemberDetail-header
  • OrganizationMemberDetail-tabs
  • OrganizationMemberDetail-detailsTab
  • OrganizationMemberDetail-rolesTab
  • MemberRemoveFromOrgModal-dialogContent
  • OrganizationMemberRemoveRoleModal-dialogContent
  • OrganizationMemberAssignRolesModal-dialogContent

Personnalisation avancée

Hooks disponibles

Ces hooks fournissent la logique sous-jacente, sans aucune interface. Utilisez-les pour créer des interfaces entièrement personnalisées tout en tirant parti de l’intégration à l’API Auth0.