Componente Seletor de Canal do Microsoft Teams no Microsoft Graph Toolkit

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