Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cuidado
O Microsoft Graph Toolkit foi preterido. O período de aposentadoria começa em 1º de setembro de 2025, com aposentadoria total planejada para 28 de agosto de 2026. Os desenvolvedores devem migrar para o uso dos SDKs do Microsoft Graph ou outras ferramentas do Microsoft Graph com suporte para criar experiências na Web. Para obter mais informações, consulte o anúncio de substituição.
O componente de pessoa é usado para exibir uma pessoa ou contato usando sua foto, nome, endereço de email ou qualquer outro detalhe da pessoa.
O componente pessoa também usa o mgt-person-card para exibir um card de submenu com informações adicionais sobre o usuário. Para obter detalhes, consulte a seção Cartão de Visita .
Exemplo
O exemplo a seguir exibe uma pessoa usando o mgt-person componente. Você pode usar o editor de código para ver como as propriedades alteram o comportamento do componente.
Definindo os detalhes da pessoa
Você pode usar três propriedades para definir os detalhes da pessoa. Use apenas uma das seguintes propriedades por instância:
Defina o
user-idatributo ouuserIda propriedade para buscar o usuário no Microsoft Graph usando sua ID.Defina o atributo ou
personQuerya propriedade para pesquisar noperson-queryMicrosoft Graph por uma determinada pessoa. Ele escolhe a primeira pessoa disponível e busca os detalhes da pessoa. Um email funciona melhor para garantir que a pessoa certa seja consultada, mas um nome também funciona.Defina o
person-presenceatributo oupersonPresencepropriedade para adicionar um selo de presença ao avatar da pessoa manualmente.Defina o
avatar-sizeatributo ouavatarSizea propriedade parasmalloulargepara determinar o tamanho do avatar. Isso ajuda a adicionar o selo de presença correta ao avatar. Você precisa escolher as propriedades personalizadas CSS correspondentes corretas mostradas abaixo para personalizar ainda mais o tamanho do avatar. Por padrão, o valor é definido paraautodecidir automaticamente como renderizar a presença com base naviewpropriedade. Recomendamos usarsmallse o seu avatar for menor que 32 px por 32 px.Use o atributo ou
personDetailsaperson-detailspropriedade para definir manualmente os detalhes da pessoa, conforme mostrado no exemplo a seguir.let personControl = document.getElementById('myPersonControl'); personControl.personDetails = { displayName: 'Nikola Metulev', mail: 'nikola@contoso.com', personImage: 'url' }Se nenhuma imagem for fornecida, uma será buscada (se disponível).
Por padrão, o componente pessoa solicita apenas o conjunto de propriedades padrão do usuário do Microsoft Graph. Para solicitar propriedades adicionais, declare-as como parte do
line(x)Property.
Propriedades
Você pode usar várias propriedades para personalizar o componente.
| Atributo | Propriedade | Descrição |
|---|---|---|
| ID do usuário | userId | Defina como uma ID de usuário para buscar os detalhes e a imagem desse usuário no Microsoft Graph. |
| consulta de pessoa | personQuery | Defina como um nome ou email de uma pessoa para pesquisar uma pessoa no Microsoft Graph e buscar os detalhes e a imagem da primeira pessoa. |
| Detalhes da pessoa | personDetails | Definido como um objeto que representa uma pessoa. Trabalha com objetos de pessoas, usuários, contatos ou grupos, recursos. |
| Detalhes de fallback | Detalhes de fallback | Definido como um objeto que representa uma pessoa quando nenhum usuário/pessoa/contato é encontrado no Microsoft Graph. |
| pessoa-imagem | personImage | Defina a imagem para mostrar para a pessoa. |
| presença de pessoa | personPresence | Defina a presença para a pessoa. |
| fetch-image | fetchImage | Defina o personDetails sinalizador para buscar personImage automaticamente do Microsoft Graph com base no objeto fornecido pelo usuário. |
| disable-image-fetch | disableImageFetch | Defina o sinalizador para desabilitar a busca da imagem da pessoa. Ele pode ser usado para evitar a busca desnecessária do Microsoft Graph ao especificar personImage a propriedade. |
| tipo avatar | avatarType | Defina como initials ou photo para renderizar o estado de exibição - o padrão é foto. |
| tamanho do avatar | avatarTamanho | Defina o tamanho do avatar como small, large, ou auto, ajudando também a determinar o tamanho correto para o selo de presença. O valor padrão é auto. Se o view atributo estiver definido como threelines ou fourlines, avatar-size será automaticamente tratado como large, independentemente de seu valor real. |
| de layout vertical | verticalLayout | Defina o layout do componente como vertical. |
| modo de exibição | modo de exibição | Definido para controlar como a pessoa é renderizada. O padrão é image. image - mostrar apenas avatar oneline - mostrar avatar e primeira linha (displayName por padrão) twolines - mostrar avatar e duas linhas de texto (displayName e jobTitle por padrão) threelines - mostrar avatar e três linhas de texto (displayNamee jobTitledepartment por padrão) fourlines - mostrar avatar e quatro linhas de texto (displayName, jobTitle, department e email por padrão) Em vertical-layout, ver alterações. twolines - mostrar avatar e duas linhas de texto (displayName e email por padrão) threelines - mostrar avatar e três linhas de texto (displayName e emaildepartment por padrão) |
| propriedade line1 | line1Property | Define a propriedade de personDetails a ser usada para a primeira linha de texto. O padrão é displayName. |
| propriedade line2 | line2Property | Define a propriedade de personDetails a ser usada para a segunda linha de texto. O padrão é jobTitle. |
| propriedade line3 | line3Property | Define a propriedade de personDetails a ser usada para a terceira linha de texto. O padrão é department. |
| propriedade line4 | line4Property | Define a propriedade de personDetails a ser usada para a quarta linha de texto. O padrão é email. |
| mostrar presença | showPresence | Definir sinalizador para exibir a presença da pessoa - o padrão é false. |
| Utilização | Utilização | Especifique onde o componente está sendo usado para adicionar personalização personalizada a ele. Atualmente, só há suporte people como usado no componente pessoas. |
| person-card | personCardInteraction | Define o comportamento para mostrar o card de pessoa no componente de pessoa renderizado. Os valores permitidos são none, hover ou click. O padrão é none. |
Propriedades personalizadas CSS
O mgt-person componente define as seguintes propriedades personalizadas CSS.
<mgt-person class="person" person-query="me" view="fourlines" id="online" show-presence></mgt-person>
.person {
--person-background-color: #616161;
--person-background-border-radius: 30%;
--person-avatar-size: 40px;
--person-avatar-border: 3px solid yellow;
--person-avatar-border-radius: 54%;
--person-initials-text-color: white;
--person-initials-background-color: blue;
--person-line1-font-size: 32px;
--person-line1-font-weight: 600;
--person-line1-text-color: red;
--person-line1-text-transform: capitalize;
--person-line1-text-line-height: 20px;
--person-line2-font-size: 28px;
--person-line2-font-weight: 500;
--person-line2-text-color: orange;
--person-line2-text-transform: full-width;
--person-line2-text-line-height: 16px;
--person-line3-font-size: 24px;
--person-line3-font-weight: 400;
--person-line3-text-color: blue;
--person-line3-text-transform: uppercase;
--person-line3-text-line-height: 12px;
--person-line4-font-size: 20px;
--person-line4-font-weight: 300;
--person-line4-text-color: green;
--person-line4-text-transform: lowercase;
--person-line4-text-line-height: 12px;
--person-details-spacing: 30px;
}
Para saber mais, consulte Componentes de estilo.
Eventos
Os eventos a seguir são disparados do componente.
| Evento | Quando é emitido | Dados personalizados | Cancelável | Bolhas | Funciona com modelo personalizado |
|---|---|---|---|---|---|
line1clicked |
Acionado quando linha1 é clicada | O person objeto que pode ser um usuário do Microsoft Graph, pessoa ou contato com uma propriedade adicional personImage que contém a URL da foto do usuário. |
Não | Não | Sim, a menos que você substitua o modelo padrão. |
line2clicked |
Acionado quando a linha2 é clicada | O person objeto que pode ser um usuário do Microsoft Graph, pessoa ou contato com uma propriedade adicional personImage que contém a URL da foto do usuário. |
Não | Não | Sim, a menos que você substitua o modelo padrão. |
line3clicked |
Acionado quando a linha3 é clicada | O person objeto, que pode ser um usuário do Microsoft Graph, uma pessoa ou um contato com uma propriedade adicional personImage que contém a URL da foto do usuário. |
Não | Não | Sim, a menos que você substitua o modelo padrão. |
line4clicked |
Acionado quando a linha4 é clicada | O person objeto, que pode ser um usuário do Microsoft Graph, uma pessoa ou um contato com uma propriedade adicional personImage que contém a URL da foto do usuário. |
Não | Não | Sim, a menos que você substitua o modelo padrão. |
Para obter mais informações sobre como lidar com eventos, consulte eventos.
Modelos
O mgt-person componente suporta vários modelos que permitem substituir certas partes do componente. Para especificar um modelo, inclua um <template> elemento dentro de um componente e defina como data-type um dos seguintes valores:
| Tipo de dados | Contexto de dados | Descrição |
|---|---|---|
| carregando | none | O modelo a ser renderizado enquanto o componente está em um estado de carregamento. |
| sem dados | none | O modelo a ser renderizado quando nenhuma pessoa, imagem ou dado estiver disponível. |
| Padrão. | pessoa: o objeto de detalhes da pessoa personImage: a URL da imagem personPresence: O objeto de detalhes de presença para pessoa. |
O modelo padrão substitui todo o componente pelo seu. |
| person-card | pessoa: o objeto de detalhes da pessoa personImage: a URL da imagem. |
O modelo para atualizar o mgt-person-card exibido ao focalizar ou clicar. |
| linha1 | pessoa: o objeto de detalhes da pessoa | O modelo para a primeira linha dos metadados da pessoa. |
| linha2 | pessoa: o objeto de detalhes da pessoa | O modelo para a segunda linha dos metadados da pessoa. |
| linha3 | pessoa: o objeto de detalhes da pessoa | O modelo para a terceira linha de metadados da pessoa. |
| linha4 | pessoa: o objeto de detalhes da pessoa | O modelo para a quarta linha dos metadados da pessoa. |
O exemplo a seguir define um modelo para o componente pessoa.
<!-- Retemplate the entire person component -->
<mgt-person>
<template>
<div data-if="personImage">
<img src="{{personImage}}" />
</div>
<div data-else>
{{person.displayName}}
</div>
</template>
</mgt-person>
<!-- Retemplate the line properties -->
<mgt-person view="threeLines">
<template data-type="line1">
<div>
Hello, my name is: {{person.displayName}}
</div>
</template>
<template data-type="line2">
<div>
Super cool
</div>
</template>
<template data-type="line3">
<div>
Loves MGT
</div>
</template>
</mgt-person>
<mgt-person view="fourLines">
<template data-type="line1">
<div>
Hello, my name is: {{person.displayName}}
</div>
</template>
<template data-type="line2">
<div>
Musician
</div>
</template>
<template data-type="line3">
<div>
Calif records
</div>
</template>
<template data-type="line4">
<div>
{{person.mail}}
</div>
</template>
</mgt-person>
<!-- Person-card template -->
<mgt-person person-query="me" view="twolines" person-card="hover">
<template data-type="person-card">
My custom person card experience
</template>
</mgt-person>
Cartão pessoal
O mgt-person componente pode mostrar um mgt-person-card ao focalizar ou clicar.
Adicionar o controle à página HTML
<mgt-person person-query="me" person-card="hover"></mgt-person>
| Atributo | Propriedade | Descrição |
|---|---|---|
| person-card | personCardInteraction | Uma enumeração para determinar a ação do usuário necessária para ativar o painel de submenu - hover ou click. O valor padrão é none. |
Para obter mais informações sobre modelos, estilos e atributos, consulte Componente Cartão de Visita.
Configuração global do componente
A MgtPerson classe expõe um objeto estático config que configura todos os componentes da pessoa no aplicativo.
O exemplo a seguir mostra como usar o objeto de configuração.
import { MgtPerson } from '@microsoft/mgt-components';
MgtPerson.config.useContactApis = false;
As propriedades a seguir estão disponíveis no objeto de configuração.
| Propriedade | Descrição |
|---|---|
| useContactApis |
boolean - Indica se o componente pessoa pode usar a API de contatos pessoais do Microsoft Graph para pesquisar detalhes e fotos de contato. O valor padrão é true. |
Permissões do Microsoft Graph
Esse controle usa as seguintes APIs e permissões do Microsoft Graph. Para cada API chamada, o usuário deve ter pelo menos uma das permissões listadas. Algumas configurações podem resultar em várias chamadas para o Microsoft Graph. Quando essas chamadas podem usar permissões diferentes, cada API e conjunto de permissões está em uma linha separada.
| Configuração | Permissão | API |
|---|---|---|
personDetails Defina sem imagem, fetchImage defina como true, avatarType defina como photo, a pessoa recuperada é um contato e useContactApis defina como true |
Contacts.Read, Contacts.ReadWrite | /eu/contatos/* |
personDetails Defina sem imagem, fetchImage defina como true, avatarType defina como photo e a pessoa não é um contato ou useContactApis está definida como false |
User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /users/{id}/foto/$value |
personDetails Defina sem imagem, fetchImage defina como true, avatarType defina como photo e especifique o usuário por email |
User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /usuários?$search= |
personDetails Defina sem imagem, fetchImage defina como true, avatarType defina como photo e especifique o usuário por email |
User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /users/{id}/foto/$value |
personDetails Defina sem imagem, fetchImage defina como true, avatarType defina como photo e contato especificado por email e useContactApis defina como true |
Contacts.Read, Contacts.ReadWrite | /eu/contatos/* |
personDetails defina sem imagem para um grupo, fetchImage defina para true, avatarType defina para photo |
Group.Read.All, Group.ReadWrite.All' | /groups/${groupId}/photo/$value |
userId conjunto |
User.ReadBasic.All | /users/{id} |
userId definir ou personQuery definir para me e avatarType definir para photo e disableImageFetch é false |
User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /users/{id} |
userId definir ou personQuery definir para me e avatarType definir para photo e disableImageFetch é false |
User.ReadBasic.All, User.Read.All, User.ReadWrite.All | users/${userId}/foto/* |
userId Definido como me e avatarType Definido como photo e disableImageFetch é false |
User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /me |
userId Definido como me e avatarType Definido como photo e disableImageFetch é false |
User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /eu/foto/$value |
personQuery definido como me e avatarType definido como algo diferente de photo |
User.Read, User.ReadWrite | /me |
personQuery definido como um valor diferente de me e avatarType definido como algo diferente de photo |
People.Read, People.Read.All | /eu/pessoas |
personQuery definido como um valor diferente de me e avatarType definido como algo diferente de photo e /me/people não retornou nenhum dado que corresponda ao fornecido personQuery |
User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /usuário?$search= |
personQuery defina como um valor diferente de me e useContactApis defina como false |
People. Read, User.ReadBasic.All | /me/people/?$search=, /users?$search= |
showPresence Defina como true e personQuery defina como me |
Presence.Read | /me/presence |
showPresence Defina como true e personQuery defina como um valor diferente de me |
Presence.Read.All | /users/{id}/presence |
personCardInteraction Defina com um valor diferente de PersonCardInteraction.none |
Ver permissões do card de pessoa | Ver chamadas à API do card de pessoa |
Subcomponentes
O mgt-person componente consiste em um ou mais subcomponentes que podem exigir outras permissões além das listadas anteriormente. Para obter mais informações, consulte a documentação de cada subcomponente: mgt-person-card.
Autenticação
O controle usa o provedor de autenticação global descrito na documentação de autenticação para buscar os dados necessários.
Cache
| Loja de objetos | Dados armazenados em cache | Comentários |
|---|---|---|
photos |
Foto da pessoa | Usado quando avatarType está definido como photo e fetchImage está definido como true. |
presence |
Presença da pessoa | Usado quando está definido como showPresencetrue. |
users |
Informações de usuário da pessoa. |
Consulte Cache para obter mais detalhes sobre como configurar o cache.
Estenda para mais controle
Para cenários mais complexos ou uma experiência de usuário verdadeiramente personalizada, esse componente expõe vários protected render* métodos de substituição em extensões de componente.
| Método | Descrição |
|---|---|
| renderLoading | Renderiza o estado de carregamento. |
| renderNoData | Renderiza quando nenhum dado de imagem ou pessoa está disponível. |
| renderAvatar | Renderiza o avatar. |
| renderDetails | Renderiza a parte de detalhes da pessoa. |
Localização
O controle expõe as variáveis a seguir que podem ser localizadas. Para obter detalhes sobre como configurar a localização, consulte Localizando componentes.
| Nome da cadeia de caracteres | Valor padrão |
|---|---|
| photoFor | Photo for |
| emailAddress | Email address |