Criar uma página de remoção
Você pode estender e aprimorar a experiência do usuário dando suporte a opções de remoção e modificação em seu aplicativo. O Teams permite que os usuários renomeiem ou removam uma guia de canal ou grupo e você pode permitir que os usuários reconfigurem sua guia após a instalação. Além disso, a experiência de remoção de guia fornece aos usuários opções pós-remoção para excluir ou arquivar conteúdo.
Observação
Este tópico reflete a versão 2.0.x da biblioteca de cliente JavaScript do Microsoft Teams (TeamsJS). Se estiver a utilizar uma versão anterior, consulte a descrição geral da biblioteca do TeamsJS para obter orientações sobre as diferenças entre as versões mais recentes do TeamsJS e versões anteriores.
Habilitar a reconfiguração da guia após a instalação
Seu manifest.json
define os recursos e funcionalidades da guia. A propriedade da instância canUpdateConfiguration
de separador utiliza um valor Booleano que indica se um utilizador pode modificar ou reconfigurar o separador depois de ser criado. A tabela a seguir fornece os detalhes da propriedade:
Nome | Tipo | Tamanho máximo | Obrigatório | Descrição |
---|---|---|---|---|
canUpdateConfiguration |
Booliano | Um valor que indica se uma instância da configuração da guia pode ser atualizada pelo usuário após a criação. O padrão é true . |
Quando o seu separador é carregado para um canal ou chat de grupo, o Teams adiciona um menu pendente de clique com o botão direito do rato para o seu separador. As opções disponíveis são determinadas pela canUpdateConfiguration
definição. A tabela a seguir fornece os detalhes da configuração:
canUpdateConfiguration |
verdadeiro | falso | description |
---|---|---|---|
Configurações | √ | A configurationUrl página é recarregada num iFrame que permite ao utilizador reconfigurar o separador. |
|
Renomear | √ | √ | O usuário pode alterar o nome da guia conforme ele aparece na barra de guias. |
Remover | √ | √ | Se a propriedade e o removeURL valor estiverem incluídos na página de configuração, a página de remoção é carregada para um iFrame e apresentada ao utilizador. Se uma página de remoção não estiver incluída, é apresentada ao utilizador uma caixa de diálogo confirmar. |
Criar uma página de remoção de guia para seu aplicativo
A página de remoção opcional é uma página HTML que você hospeda e é exibida quando a guia é removida. O URL da página de remoção é designado pelo método (ou setSettings()
antes do setConfig()
TeamsJS v.2.0.0) na sua página de configuração. Assim como em todas as páginas em seu aplicativo, a página de remoção deve estar em conformidade com pré-requisitos da guia Teams.
Registrar um manipulador de remoção
Opcionalmente, na lógica da página de remoção, pode invocar o registerOnRemoveHandler((RemoveEvent) => {}
processador de eventos quando o utilizador remover uma configuração de separador existente. O método usa a interface RemoveEvent
e executa o código no manipulador quando um usuário tenta remover o conteúdo. O método é usado para executar operações de limpeza, como remover o recurso subjacente que a energia do conteúdo da guia. De cada vez, apenas um, o processador de remoção pode ser registado.
A interface RemoveEvent
descreve um objeto com dois métodos:
A função
notifySuccess()
é necessária. Indica que a remoção do recurso subjacente foi bem-sucedida e seu conteúdo pode ser removido.A função
notifyFailure(string)
é opcional. Indica que a remoção do recurso subjacente falhou e o respetivo conteúdo não pode ser removido. O parâmetro de cadeia de caracteres opcional especifica um motivo para a falha. Se fornecido, essa cadeia de caracteres será exibida para o usuário; caso contrário, um erro genérico será exibido.
Use a função getConfig()
.
Pode utilizar getConfig()
(anteriormente getSettings()
) para atribuir o conteúdo do separador a ser removido. A getConfig()
função devolve uma promessa que resolve com o objeto Config e fornece os valores de propriedade de definições válidos que podem ser obtidos.
Use a função getContext()
.
Você pode usar getContext()
para obter o contexto atual no qual o quadro está sendo executado. A getContext()
função devolve uma promessa que é resolvida com o objeto De contexto. O objeto De contexto fornece valores de propriedade válidos Context
que pode utilizar na lógica da página de remoção para determinar o conteúdo a apresentar na página de remoção.
Incluir autenticação
A autenticação é necessária antes de permitir que um usuário exclua o conteúdo da guia. Informações de contexto podem ser usadas para ajudar a construir solicitações de autenticação e URLs de página de autorização. ConsulteFluxo de autenticação do Microsoft Teams para guias. Certifique-se de que todos os domínios utilizados nas suas páginas de separador estão listados na validDomains
matriz do manifesto da sua aplicação.
O exemplo seguinte é um exemplo de bloco de código de remoção de separadores:
<body>
<button onclick="onClick()">Delete this tab and all underlying data?</button>
<script>
await microsoftTeams.app.initialize();
pages.config.registerOnRemoveHandler((removeEvent) => {
// Here you can designate the tab content to be removed and/or archived.
const configPromise = pages.getConfig();
configPromise.
then((configuration) => {
configuration.contentUrl = "...";
removeEvent.notifySuccess()}).
catch((error) => {removeEvent.notifyFailure("failure message")});
});
const onClick() => {
pages.config.setValidityState(true);
}
</script>
</body>
Quando um utilizador seleciona Remover do menu pendente do separador, o Teams carrega a página opcional removeUrl
atribuída na sua página de configuração para um iFrame. É apresentado ao utilizador um botão carregado com a onClick()
função que chama pages.config.setValidityState(true)
e ativa o botão Remover apresentado na parte inferior da página de remoção iFrame.
Depois que o manipulador de remoção é executado, removeEvent.notifySuccess()
ou removeEvent.notifyFailure()
notifica o Teams sobre o resultado da remoção de conteúdo.
Observação
- Para garantir que o controlo de um utilizador autorizado sobre um separador não é inibido, o Teams remove o separador em casos de êxito e falha.
- Depois de invocar o
registerOnRemoveHandler
processador de eventos, responda ao método dentro de 15 segundos. A aplicação tem de chamarsetValidityState(true)
para ativar o botão Remover e para que o processador de remoção seja invocado. O botão Remover é ativado após cinco segundos. - Quando o usuário seleciona Remover, o Teams remove a guia após 30 segundos, independentemente de as ações serem concluídas ou não.