Compartilhar via


Componente Selecionador de Canais do Microsoft Teams no Microsoft Graph Toolkit

Cuidado

O Toolkit do Microsoft Graph foi preterido. O período de reforma começa a 1 de setembro de 2025, com a reforma completa prevista para 28 de agosto de 2026. Os programadores devem migrar para utilizar os SDKs do Microsoft Graph ou outras ferramentas suportadas do Microsoft Graph para criar experiências Web. Para obter mais informações, veja o anúncio de preterição.

Pode utilizar o mgt-teams-channel-picker componente para ativar pesquisas de canais do Microsoft Teams associados a um utilizador. O componente pode procurar todas as equipas às quais o utilizador se juntou e cada canal nessas equipas.

Exemplo

O exemplo seguinte mostra o mgt-teams-channel-picker componente. Comece a procurar um canal ou equipa para ver a composição dos resultados.

Obter o canal selecionado

Utilize a selectedItem propriedade para obter o canal e equipe principal atualmente selecionados. Este valor será nulo se não tiver sido selecionado nenhum canal. 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);

Selecionar um canal

Utilize o selectChannelById(channelId: string) método para selecionar programaticamente um canal.

Nota: o seletor de canais do Teams só suporta a seleção de canal único.

const channelPicker = document.querySelector("mgt-teams-channel-picker");
const channelId = "some-channel-id";
channelPicker.selectChannelById(channelId);

Nota: O canal fornecido (e O ID subsequente) tem de pertencer a uma equipa à qual o utilizador autenticado tenha aderido.

Propriedades personalizadas do CSS

O mgt-teams-channel-picker componente define as seguintes propriedades personalizadas do 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, veja Componentes de estilo.

Eventos

Evento Quando é emitido Dados personalizados Cancelável Bolhas Funciona com um modelo personalizado
selectionChanged É acionado quando o utilizador faz uma alteração na seleção de um canal O item atualmente selecionado como { channel: equipa de canal, team: } Não Não Sim

Para obter mais informações sobre o processamento de eventos, veja eventos.

Modelos

mgt-teams-channel-picker suporta vários modelos que pode utilizar 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
a carregar null: sem dados O modelo utilizado para compor o estado do seletor ao fazer um pedido ao Microsoft Graph está a ser feito.
erro null: sem dados O modelo utilizado se uma pesquisa de utilizador não devolver utilizadores.

O exemplo seguinte mostra como utilizar 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 utiliza as seguintes APIs e permissões do Microsoft Graph por predefinição. Para cada API denominada utilizador tem de 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 /me/joinedTeams
Padrão. Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All /teams/${teamId}/photo/$value
Padrão. Channel.ReadBasic.All, ChannelSettings.Read.All, ChannelSettings.ReadWrite.All /teams/${id}/channels

Autenticação

O controlo utiliza o fornecedor de autenticação global descrito na documentação de autenticação.

Cache

O mgt-teams-channel-picker componente não coloca dados em cache.

Expandir para obter mais controlo

Para cenários mais complexos ou um UX verdadeiramente personalizado, este componente expõe vários protected render* métodos de substituição em extensões de componentes:

Método Descrição
renderSelected Compõe a equipa e o canal selecionados na caixa de entrada.
renderInput Compõe a caixa de entrada.
renderDropdown Compõe a lista pendente.
renderDropdownList Compõe os itens na lista pendente de forma recursiva.
renderItem Compõe uma equipa ou um canal na lista pendente.
renderHighlightedText Compõe o texto do canal, realçando a consulta de entrada.
renderLoading Compõe o estado de lista pendente de carregamento.
renderError Compõe o estado de erro da lista pendente.

Localização

O controlo expõe as seguintes variáveis que podem ser localizadas. Para obter detalhes sobre como configurar a localização, veja Localizar componentes.

Nome da cadeia 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