Componente do Microsoft Teams Channel Picker no Microsoft Graph Toolkit
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 ingressadas pelo usuário e cada canal nessas equipes.
Exemplo
O exemplo a seguir mostra o mgt-teams-channel-picker
componente. Comece a procurar por um canal ou equipe para ver a renderização dos resultados.
Obtendo o canal selecionado
Use a selectedItem
propriedade para recuperar o canal e o equipe principal selecionados no momento. Esse valor será nulo 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);
Nota: O canal fornecido (e a ID subsequente) deve pertencer a uma equipe ingressada pelo usuário autenticado.
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, confira componentes de estilo.
Eventos
Evento | Quando ele é emitido | Dados personalizados | Cancelável | Bolhas | Funciona com modelo personalizado |
---|---|---|---|---|---|
selectionChanged |
Dispara quando o usuário faz uma alteração na seleção de um canal | O item selecionado atualmente como { channel: equipede canal, team: } |
Não | Não | Sim |
Para obter mais informações sobre como lidar com eventos, consulte eventos.
Modelos
mgt-teams-channel-picker
dá suporte a vários modelos que você pode usar para substituir determinadas partes do componente. Para especificar um modelo, inclua um <template>
elemento dentro de um componente e defina o data-type
como um dos valores a seguir.
Tipo de dados | Contexto de dados | Descrição |
---|---|---|
Carregar | 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 usuários. |
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
Esse 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 | /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 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 em cache nenhum dado.
Estender para obter mais controle
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 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 na lista suspensa de forma recursiva. |
Renderitem | Renderiza uma equipe ou um canal na lista suspensa. |
renderHighlightedText | Renderiza o texto do canal, destacando a consulta de entrada. |
renderLoading | Renderiza o estado suspenso de carregamento. |
renderError | Renderiza o estado de erro suspenso. |
Localização
O controle expõe as variáveis a seguir que podem ser localizadas. Para obter detalhes sobre como configurar a localização, confira 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 |