Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Precaución
Microsoft Graph Toolkit está en desuso. El período de retirada comienza el 1 de septiembre de 2025, con la retirada completa prevista para el 28 de agosto de 2026. Los desarrolladores deben migrar al uso de los SDK de Microsoft Graph u otras herramientas de Microsoft Graph compatibles para crear experiencias web. Para obtener más información, consulte el anuncio de desuso.
Un componente de Person-Card es un componente dinámico para mostrar más información relacionada con una persona. Se usa como control flotante en el mgt-person componente.
Para obtener más información sobre el mgt-person componente, consulte mgt-person.
Ejemplo de uso de mgt-person
En el ejemplo siguiente se muestra el uso del mgt-person-card componente con un mgt-person componente. Mantenga el puntero o haga clic en la persona para ver la tarjeta de persona.
Ejemplo de uso de mgt-person-card como componente independiente
En el ejemplo siguiente se muestra el uso del mgt-person-card componente. Use el editor de código para ver cómo cambian las propiedades el comportamiento del componente.
Configuración global de componentes
La MgtPersonCardConfig clase expone las propiedades de configuración estática que configuran todos los componentes de tarjeta de persona de la aplicación. La clase configura qué secciones y qué API usa la tarjeta de persona para capturar detalles sobre un usuario de Microsoft Graph.
De forma predeterminada, todas las secciones y API están habilitadas. En el ejemplo siguiente se muestra cómo usar las propiedades de clase para deshabilitar secciones o API.
import { MgtPersonCardConfig } from '@microsoft/mgt-components';
MgtPersonCardConfig.useContactApis = false;
MgtPersonCardConfig.sections.profile = false;
MgtPersonCardConfig.sections.files = false;
Las siguientes propiedades están disponibles.
| Propiedad | Descripción |
|---|---|
| useContactApis |
boolean : indica si el componente de tarjeta de persona puede usar la API de contacto de Microsoft Graph para buscar detalles de contacto y fotos. El valor predeterminado es true. |
| secciones |
object - Configura qué secciones se muestran en la tarjeta de persona. |
| isSendMessageVisible |
boolean : indica si el botón enviar mensaje está visible. El valor predeterminado es true. |
Secciones de tarjeta de persona
La tarjeta de persona contiene varias secciones configurables para mostrar los detalles de la persona:
- Contacto: información de contacto como correo electrónico, teléfono, posición, ubicación, etc.
- Organización: gráfico organizativo con administradores, informes directos y personas relevantes.
- Mensajes: mensajes de correo electrónico más relevantes con el usuario que inició sesión actual.
- Archivos: archivos compartidos más relevantes con el usuario que inició sesión actual.
- Perfil: información de perfil, como proyectos, aptitudes, idiomas, etc.
Las secciones se cargan de forma predeterminada, pero se pueden deshabilitar globalmente a través de la MgtPersonCardConfig.sections propiedad object. Las siguientes propiedades están disponibles.
| Propiedad | Descripción |
|---|---|
| organización |
boolean : indica si se muestra la sección organización de la tarjeta de persona. El valor predeterminado es true. |
| mailMessages |
boolean : indica si se muestra la sección de mensajes de tarjeta de persona. El valor predeterminado es true. |
| archivos |
boolean : indica si se muestra la sección de archivos de tarjeta de persona. El valor predeterminado es true. |
| perfil |
boolean : indica si se muestra la sección de perfil de tarjeta de persona. El valor predeterminado es true. |
| lock-tab-navigation |
boolean : permite el bloqueo de navegación mediante pestañas para que no fluya fuera de la sección de la tarjeta. El valor predeterminado es false. |
Para deshabilitar una sección, establezca la propiedad false en en el código de inicialización de la aplicación:
import { MgtPersonCardConfig } from '@microsoft/mgt-components';
MgtPersonCardConfig.sections.profile = false;
Configuración de integraciones de Teams
El componente Person-Card permite al usuario ponerse en contacto con la persona de destino, incluso a través del chat de Teams. Si usa el componente dentro de una aplicación de pestaña de Teams, puede asegurarse de que el componente se vincula directamente a un chat en lugar de abrir una ventana del explorador estableciendo en microsoftTeamsLibTeamsHelper.
Si el componente Person-Card no puede detectar la biblioteca de Teams, el componente intenta abrir el cliente web de Teams en su lugar.
import * as microsoftTeams from "@microsoft/teams-js";
import { TeamsHelper } from "@microsoft/mgt-element";
TeamsHelper.microsoftTeamsLib = microsoftTeams;
Propiedades
De forma predeterminada, el mgt-person componente pasa los detalles de la persona al mgt-person-card componente. Sin embargo, puede usar estos atributos para cambiarlo al crear plantillas del mgt-person componente o al usar el mgt-person-card componente como componente independiente.
| Atributo | Tipo | Descripción |
|---|---|---|
| person-details | MicrosoftGraph.User MicrosoftGraph.Person MicrosoftGraph.Contact |
Objeto Person tal como lo define Microsoft Graph, que contiene detalles relacionados con el usuario. |
| person-image | Cadena | Uri de imagen relacionado con la persona que se muestra en la tarjeta. |
| inherit-details | Ninguno | Permite que la tarjeta de persona recoste el árbol primario para mgt-person que el componente use los mismos person-details datos y person-image . |
| user-id | Cadena | Permite a los desarrolladores proporcionar el identificador de usuario para recuperar los datos que se muestran en el componente de tarjeta de persona |
| person-query | Cadena | Permite a los desarrolladores proporcionar consultas de persona para recuperar los datos que se muestran en el componente de tarjeta de persona |
| person-card | Cadena | Especifica si el person-card componente se puede mostrar como una tarjeta emergente al mantener el mouse o hacer clic en él mgt-person . Los valores permitidos son hover o click. |
Propiedades personalizadas css
El mgt-person-card componente define las siguientes propiedades personalizadas CSS.
<mgt-person-card class="person-card" person-query="me"></mgt-person-card>
.person-card {
--person-card-nav-back-arrow-hover-color: green;
--person-card-icon-color: red;
--person-card-line1-font-size: 30px;
--person-card-line1-font-weight: 800;
--person-card-line1-line-height: 38px;
--person-card-line2-font-size: 24px;
--person-card-line2-font-weight: 600;
--person-card-line2-line-height: 30px;
--person-card-line3-font-size: 24px;
--person-card-line3-font-weight: 300;
--person-card-line3-line-height: 29px;
--person-card-avatar-size: 85px;
--person-card-details-left-spacing: 25px;
--person-card-avatar-top-spacing: 25px;
--person-card-details-bottom-spacing: 20px;
--person-card-background-color: pink;
--person-card-expanded-background-color-hover: blue;
--person-card-icon-hover-color: magenta;
--person-card-show-more-color: blue;
--person-card-show-more-hover-color: green;
--person-card-fluent-background-color: yellow;
--person-card-line1-text-color: purple;
--person-card-line2-text-color: blue;
--person-card-line3-text-color: green;
--person-card-fluent-background-color-hover: orange;
--person-card-base-icons-left-spacing: 110px;
/** person-card sections tokens */
/** Organization */
--organization-active-org-member-target-background-color: blue;
--organization-title-color: green;
--organization-sub-title-color: yellow;
--organization-hover-color: grey;
--organization-coworker-hover-color: grey;
--organization-coworker-border-color: purple;
--organization-active-org-member-border-color: red;
--organization-coworker-person-avatar-size: 50px;
--organization-member-person-avatar-size: 60px;
--organization-direct-report-person-avatar-size: 80px;
/** Style for the avatar-size in the person-card sections */
--organization-member-person-avatar-size: 60px;
--coworker-person-avatar-size: 50px;
--direct-report-person-avatar-size: 40px;
/** Files: Uses custom css properties for mgt-file-list and mgt-file */
/** Messages */
--message-subject-color: purple;
--message-from-color: blue;
--message-color: black;
--message-hover-color: grey;
--message-subject-font-size: 18px;
--message-subject-font-weight: 600;
--message-subject-line-height: 25px;
--message-from-font-size: 40px;
--message-from-font-weight: 800;
--message-date-color: purple;
--message-from-line-height: 25px;
/** Contact */
--contact-title-color: blue;
--contact-value-color: green;
--contact-link-color: red;
--contact-link-hover-color: purple;
--contact-background-color: grey;
--contact-copy-icon-color: yellow;
/** Profile */
--profile-title-color: blue;
--profile-background-color: grey;
--profile-token-item-color: blue;
--profile-token-overflow-color: purple;
--profile-section-title-color: black;
--profile-token-item-background-color: yellow;
}
Para obtener más información, consulte Componentes de estilo.
Plantillas
El componente Person-Card usa plantillas que permiten agregar o reemplazar partes del componente. Para especificar una plantilla, incluya un <template> elemento dentro de un componente y establezca en data-type uno de los siguientes valores.
| Tipo de datos | Contexto de datos | Descripción |
|---|---|---|
| sin datos | nulo | Plantilla que se usa cuando no hay datos disponibles. |
| Es el valor predeterminado. |
person: objeto de detalles de la personapersonImage: dirección URL de la imagen |
La plantilla predeterminada reemplaza todo el componente por el suyo propio. |
| person-details |
person: objeto de detalles de la persona |
Plantilla usada para representar la parte superior de la tarjeta de persona. |
| detalles adicionales |
person: objeto de detalles de la personapersonImage: la dirección URL de la imagen |
Plantilla usada para agregar contenido personalizado al contenedor de detalles adicionales. |
Por ejemplo, puede usar una plantilla para personalizar el componente asociado al mgt-person componente y una plantilla para agregar detalles adicionales a la tarjeta.
<mgt-person person-query="me" view="twolines" person-card="hover">
<template data-type="person-card">
<mgt-person-card inherit-details>
<template data-type="additional-details">
<h3>Stuffed Animal Friends:</h3>
<ul>
<li>Giraffe</li>
<li>lion</li>
<li>Rabbit</li>
</ul>
</template>
</mgt-person-card>
</template>
</mgt-person>
Eventos
Los siguientes eventos se desencadenan desde el componente.
| Evento | Cuándo se emite | Datos personalizados | Cancelable | Burbujas | Funciona con una plantilla personalizada |
|---|---|---|---|---|---|
expanded |
El usuario abrió la sección de detalles expandidos de la tarjeta. | Ninguno | No | Sí | Sí, a menos que invalide la plantilla predeterminada. |
Para obtener más información sobre el control de eventos, vea eventos.
Permisos de Microsoft Graph
El control Person-Card usa las siguientes API y permisos de Microsoft Graph. Para cada API llamada, el usuario debe tener al menos uno de los permisos enumerados.
| Configuración | Permiso | API | Sección |
|---|---|---|---|
| En todas las configuraciones | User.Read, User.ReadWrite | /me | Predeterminada |
personDetails establecer con el id del usuario, pero sin correo electrónico, o userId establecer |
User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /users/{id} | Predeterminada |
personDetails establecer con el id del usuario, pero sin correo electrónico, o userId establecer |
User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /users/{id}/photo/$value | Predeterminada |
personQuery establecer en me |
User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /me, /users/{id}/photo/$value | Predeterminada |
personQuery establecer en me |
User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /me/photo/$value | Predeterminada |
personQuery establecido en un valor diferente de me |
People.Read, People.Read.All | /me/people/?$search= | Predeterminada |
personQuery establecido en un valor distinto de me y config.useContactApis establecido en true (valor predeterminado) |
Contacts.Read, Contacts.ReadWrite | /me/contacts/* | Predeterminada |
personQuery establecido en un valor distinto de me y config.useContactApis establecido en false |
User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /users/{id}/photo/$value | Predeterminada |
showPresence establecer en true |
Presence.Read.All | /users/{id}/presence | Predeterminada |
sections.organization enabled (valor predeterminado) |
User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /users/{id}?$expand=manager($levels=max), /users/${id}/directReports | Organización |
sections.organization.showWorksWith set (valor predeterminado) |
People.Read.All | /users/{id}/people | Organización |
sections.mailMessages enabled (valor predeterminado) |
Mail.ReadBasic, Mail.Read, Mail.ReadWrite | /me/messages | Mensajes |
sections.files enabled (valor predeterminado) |
Sites.Read.All, Sites.ReadWrite.All | /me/insights/shared y /me/insights/used | Archivos |
sections.profile enabled (valor predeterminado) |
User.Read.All, User.ReadWrite.All | /users/{id}/profile | Perfil |
La getMgtPersonCardScopes() función devuelve una matriz de ámbitos necesarios para que la tarjeta de persona funcione en función de la configuración global de la tarjeta de persona.
import { getMgtPersonCardScopes } from `@microsoft/mgt-components`;
const neededScopes = getMgtPersonCardScopes();
Subcomponentes
El mgt-person-card componente consta de uno o varios subcomponentes que pueden requerir permisos distintos de los enumerados anteriormente. Para obtener más información, consulte la documentación de cada subcomponente:
Autenticación
El control Person-Card usa el proveedor de autenticación global descrito en la documentación de autenticación.
Caché
Importante
El mgt-person-card componente recupera los datos de persona básicos del componente primario mgt-person sin llamar a Microsoft Graph. Cuando mgt-person-card se usa por separado, recupera los datos necesarios y los almacena en caché. Los datos mostrados en las secciones de la tarjeta se recuperan por separado y no se almacenan en caché.
| Almacén de objetos | Datos almacenados en caché | Observaciones |
|---|---|---|
people |
Información de la persona | Se usa cuando personQuery se especifica y su valor es diferente de me |
photos |
Foto de la persona | |
presence |
Presencia de la persona | Se usa, cuando showPresence se establece en true |
users |
Información de usuario de la persona | Se usa cuando userId se especifica o se establece en personQueryme |
Para obtener más información sobre cómo configurar la memoria caché, consulte Almacenamiento en caché.
Localización
El control expone las siguientes variables que se pueden localizar. Para obtener más información sobre cómo configurar la localización, consulte Localización de componentes.
| Nombre de cadena | Valor predeterminado |
|---|---|
| endOfCard | End of the card |
| quickMessage | Send a quick message |
| expandDetailsLabel | Expand details |
| renderOverviewSectionLabel | Render overview section |
| sendMessageLabel | Send message |
| emailButtonLabel | Email |
| callButtonLabel | Call |
| chatButtonLabel | Chat |
| videoButtonLabel | Video |
| closeCardLabel | Close card |
También puede localizar las siguientes variables en las secciones de tarjeta de persona.
Contacto
| Nombre de cadena | Valor predeterminado |
|---|---|
| contactSectionTitle | Contact |
| emailTitle | Email |
| chatTitle | Teams |
| businessPhoneTitle | Business Phone |
| cellPhoneTitle | Mobile Phone |
| departmentTitle | Department |
| personTitle | Email |
| officeLocationTitle | Office Location |
| copyToClipboardButton | Copy to clipboard |
Archivos
| Nombre de cadena | Valor predeterminado |
|---|---|
| showMoreSubtitle | Show more items |
| filesSectionTitle | Files |
| sharedTextSubtitle | Shared |
Mensajes
| Nombre de cadena | Valor predeterminado |
|---|---|
| emailsSectionTitle | Emails |
Organización
| Nombre de cadena | Valor predeterminado |
|---|---|
| reportsToSectionTitle | Reports to |
| directReportsSectionTitle | Direct reports |
| organizationSectionTitle | Organization |
| youWorkWithSubSectionTitle | You work with |
| userWorksWithSubSectionTitle | works with |
Perfil
| Nombre de cadena | Valor predeterminado |
|---|---|
| SkillsAndExperienceSectionTitle | Skills & Experience |
| AboutCompactSectionTitle | About |
| SkillsSubSectionTitle | Skills |
| LanguagesSubSectionTitle | Languages |
| WorkExperienceSubSectionTitle | Work Experience |
| EducationSubSectionTitle | Education |
| professionalInterestsSubSectionTitle | Professional Interests |
| personalInterestsSubSectionTitle | Personal Interests |
| birthdaySubSectionTitle | Birthday |
| currentYearSubtitle | Current |
| socialMediaSubSectionTitle | Social Media |