Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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.
Você pode usar o mgt-teams-channel-picker componente para habilitar pesquisas para canais do Microsoft Teams associados a um usuário. O componente pode pesquisar todas as equipes nas quais o usuário ingressou e cada canal nessas equipes.
Exemplo
O exemplo a seguir mostra o mgt-teams-channel-picker componente. Comece a pesquisar um canal ou equipe para ver os resultados renderizados.
Obtendo o canal selecionado
Use a selectedItem propriedade para recuperar o canal e a equipe principal selecionados no momento. Esse valor será null se nenhum canal tiver sido selecionado.
selectedItem contém duas propriedades: channel (MicrosoftGraph.Channel) e team (MicrosoftGraph.Team).
const channelPicker = document.querySelector("mgt-teams-channel-picker");
console.log(channelPicker.selectedItem.channel);
console.log(channelPicker.selectedItem.team);
Selecionando um canal
Use o selectChannelById(channelId: string) método para selecionar programaticamente um canal.
Observação: o seletor de canal do Teams só dá suporte à seleção de canal único.
const channelPicker = document.querySelector("mgt-teams-channel-picker");
const channelId = "some-channel-id";
channelPicker.selectChannelById(channelId);
Observação: O canal fornecido (e a ID subsequente) deve pertencer a uma equipe à qual o usuário autenticado ingressou.
Propriedades personalizadas CSS
O mgt-teams-channel-picker componente define as seguintes propriedades personalizadas CSS.
<mgt-teams-channel-picker
class="teams-channel-picker"
person-query="me"
></mgt-teams-channel-picker>
.teams-channel-picker {
--channel-picker-input-border: 2px rgba(255, 255, 255, 0.5) solid; /* sets all input area border */
--channel-picker-input-background-color: #1f1f1f; /* input area background color */
--channel-picker-input-background-color-hover: #008394; /* input area border hover color */
--channel-picker-input-background-color-focus: #0f78d4; /* input area border focus color */
--channel-picker-dropdown-background-color: brown; /* channel background color */
--channel-picker-dropdown-item-text-color: #fff;
--channel-picker-dropdown-item-background-color-hover: #333d47; /* channel or team hover background */
--channel-picker-dropdown-item-text-color-selected: #0f78d4; /* selected channel background color */
--channel-picker-color: white; /* input area border focus color */
--channel-picker-arrow-fill: #ffffff;
--channel-picker-input-placeholder-text-color: #f1f1f1; /* placeholder text color */
--channel-picker-input-placeholder-text-color-hover: rgba(
255,
255,
255,
0.8
); /* place holder text focus color */
--channel-picker-input-placeholder-text-color-focus: rgba(
255,
255,
255,
0.8
); /* place holder text focus color */
--channel-picker-search-icon-color: yellow;
--channel-picker-close-icon-color: yellow;
--channel-picker-down-chevron-color: yellow;
--channel-picker-up-chevron-color: yellow;
}
Para saber mais, consulte Componentes de estilo.
Eventos
| Evento | Quando é emitido | Dados personalizados | Cancelável | Bolhas | Funciona com modelo personalizado |
|---|---|---|---|---|---|
selectionChanged |
Acionado quando o usuário faz uma alteração na seleção de um canal | O item selecionado no momento como { channel: equipe decanal, team: } |
Não | Não | Sim |
Para obter mais informações sobre como lidar com eventos, consulte eventos.
Modelos
mgt-teams-channel-picker Suporta vários modelos que podem ser usados para substituir determinadas 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 | nulo: sem dados | O modelo usado para renderizar o estado do seletor ao fazer uma solicitação ao Microsoft Graph está sendo feito. |
| erro | nulo: sem dados | O modelo usado se uma pesquisa de usuário não retornar nenhum usuário. |
O exemplo a seguir mostra como usar o error modelo.
<mgt-teams-channel-picker>
<template data-type="error">
<p>Sorry, no Teams or Channels were found</p>
</template>
</mgt-teams-channel-picker>
Permissões do Microsoft Graph
Este componente usa as seguintes APIs e permissões do Microsoft Graph por padrão. Para cada API chamada, o usuário deve ter pelo menos uma das permissões listadas.
| Configuração | Permissão | API |
|---|---|---|
| Padrão. | Team.ReadBasic.All, TeamSettings.Read.All, TeamSettings.ReadWrite.All, User.Read.All, User.ReadWrite.All | /eu/joinedTeams |
| Padrão. | Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All | /teams/${teamId}/foto/$value |
| Padrão. | Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All | /teams/${id}/channels |
Autenticação
O controle usa o provedor de autenticação global descrito na documentação de autenticação.
Cache
O mgt-teams-channel-picker componente não armazena nenhum dado em 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 |
|---|---|
| renderSelected | Renderiza a equipe e o canal selecionados na caixa de entrada. |
| renderInput | Renderiza a caixa de entrada. |
| renderDropdown | Renderiza a lista suspensa. |
| renderDropdownList | Renderiza os itens no menu suspenso recursivamente. |
| renderItem | Renderiza uma equipe ou um canal na lista suspensa. |
| renderHighlightedText | Renderiza o texto do canal, realçando a consulta de entrada. |
| renderLoading | Renderiza o estado suspenso de carregamento. |
| renderError | Renderiza o estado de erro da lista suspensa. |
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 |
|---|---|
| closeButtonAriaLabel | remove the selected channel |
| inputPlaceholderText | Select a channel |
| loadingMessage | Loading... |
| noResultsFound | We didn't find any matches. |
| photoFor | Teams photo for |
| teamsChannels | Teams and channels results |