componente Personas en Microsoft Graph Toolkit
Puede usar el mgt-people
componente web para mostrar un grupo de personas o contactos mediante sus fotos o iniciales. De forma predeterminada, mostrará los contactos más frecuentes para el usuario que ha iniciado sesión.
Este componente usa varios controles mgt-person , pero se puede enlazar a un conjunto de descriptores de personas. Si hay más personas que mostrar que el show-max
valor, se agregará un número para indicar el número de contactos adicionales.
Ejemplo:
En el ejemplo siguiente se muestra un grupo de personas que se muestran mediante el mgt-people
componente . Puede usar el editor de código para ver cómo cambian las propiedades el comportamiento del componente.
Propiedades
De forma predeterminada, el mgt-people
componente captura eventos del punto de /me/people
conexión con el personType/class eq 'Person'
filtro para mostrar los usuarios con contacto frecuente. Puede usar varias propiedades para cambiar este comportamiento.
Atributo | Propiedad | Descripción |
---|---|---|
show-max | showMax | Indica el número máximo de personas que se van a mostrar. El valor predeterminado es 3. |
people | people | Matriz de personas para obtener o establecer la lista de personas representadas por el componente. Use esta propiedad para acceder a las personas cargadas por el componente. Establezca este valor para cargar sus propias personas. |
group-id | groupId | Recupera personas de un Microsoft Graph específico del identificador correspondiente. |
user-ids | userIds | Dado una matriz de usuario ids de Microsoft Graph , el componente representará estos usuarios. |
consultas de personas | peopleQueries | Dada una matriz de consultas de personas (nombres, upns, correos electrónicos), el componente representará a estos usuarios. |
person-card | personCard | Enumeración para determinar la acción del usuario necesaria para activar el panel flotante: hover , click o none . El valor predeterminado es hover . |
show-presence | showPresence | Un valor booleano para determinar si se va a mostrar el distintivo de presencia de persona en la imagen de persona. |
resource | resource | Recurso que se va a obtener de Microsoft Graph (por ejemplo, /me/people ). |
ámbitos | ámbitos | Matriz opcional de cadenas si se usa la propiedad o un ámbito delimitado por comas si se usa el atributo . El componente usará estos ámbitos (con un proveedor compatible) para asegurarse de que el usuario ha dado su consentimiento al permiso adecuado. |
version | version | Versión de API opcional que se usará al realizar la solicitud GET. El valor predeterminado es v1.0 . |
fallback-details | fallbackDetails | Matriz de objetos IDynamicPerson que representan una persona o varias personas cuando no se encuentra ningún usuario, persona o contacto en el gráfico. |
En el ejemplo siguiente se establece el número máximo de personas que se van a mostrar.
<mgt-people
show-max="4">
</mgt-people>
Propiedades personalizadas css
El mgt-people
componente define las siguientes propiedades personalizadas CSS.
mgt-people {
--list-margin: 8px 4px 8px 8px; /* Margin for component */
--avatar-margin: 0 4px 0 0; /* Margin for each person */
--color: #000000 /* Text color */
}
Plantillas
mgt-people
Admite varias plantillas que puede usar para reemplazar ciertas partes del componente. Para especificar una plantilla, incluya un <template>
elemento dentro de un componente y establezca el data-type
valor en uno de los siguientes.
Tipo de datos | Contexto de datos | Descripción |
---|---|---|
default |
people : lista de objetos person |
La plantilla predeterminada reemplaza todo el componente por el suyo propio. |
person |
person : objeto person |
Plantilla usada para representar a cada persona. |
overflow |
people : lista de objetos personmax : número de personas mostradasextra : número de personas adicionales |
Plantilla usada para representar el número más allá del máximo a la derecha de la lista de personas. |
no-data |
No se pasa ningún contexto de datos | Plantilla que se usa cuando no hay datos disponibles. |
loading |
No se pasa ningún contexto de datos | Plantilla usada mientras el componente carga el estado. |
En los ejemplos siguientes se muestra cómo usar la person
plantilla.
<mgt-people>
<template>
<ul><li data-for="person in people">
<mgt-person person-query="{{ person.userPrincipalName }}"></mgt-person>
<h3>{{ person.displayName }}</h3>
<p>{{ person.jobTitle }}</p>
<p>{{ person.department }}</p>
</li></ul>
</template>
</mgt-people>
Permisos de Microsoft Graph
Este componente usa las siguientes API y permisos de Microsoft Graph:
Configuración | Permiso | API |
---|---|---|
groupId Establecer |
GroupMember.Read.All | /groups/${groupId}/members |
userIds Establecer |
User.ReadBasic.All | /users/${userId} |
peopleQueries Establecer |
People.Read | /me/people |
resource Establecer |
Permisos especificados en scopes |
Especificado en resource |
configuración predeterminada | People.Read | /me/people |
showPresence Establecer |
Presence.Read.All | /communications/getPresencesByUserId |
Cuando se usan las plantillas predeterminadas, se requieren API y permisos adicionales. La plantilla predeterminada para este componente usa un componente mgt-person . Consulte su documentación para obtener la lista de permisos necesarios.
Autenticación
El control usa el proveedor de autenticación global descrito en la documentación de autenticación.
Caché
Almacén de objetos | Datos almacenados en caché | Comentarios |
---|---|---|
people |
Información sobre las personas que coinciden con la consulta | Se usa cuando resource se especifica |
users |
Información sobre los usuarios que coinciden con la consulta | Se usa cuando groupId , peopleQueries userIds o no se especifica ninguna propiedad |
presence |
Presencia para el conjunto de personas especificado | Se usa cuando showPresence se establece en true |
Nota:
De forma predeterminada, el mgt-people
componente usa el mgt-person
componente para mostrar información sobre las personas. El mgt-person
componente descarga y almacena en caché automáticamente la foto para cada persona.
Para obtener más información sobre cómo configurar la memoria caché, consulte Almacenamiento en caché.
Ampliar para obtener más control
Para escenarios más complejos o una experiencia de usuario realmente personalizada, este componente expone varios protected render*
métodos para invalidar en extensiones de componente.
Método | Descripción |
---|---|
renderLoading | Representa el estado de carga. |
renderNoData | Representa el estado de datos vacío. |
renderPeople | Representa una lista de personas, hasta el show-max valor . |
renderPerson | Representa una persona individual. |
renderOverflow | Representa una representación de las personas restantes más allá del show-max valor. |