Crear una página de eliminación

Puedes ampliar y mejorar la experiencia del usuario admitiendo opciones de eliminación y modificación en la aplicación. Teams permite a los usuarios cambiar el nombre o quitar una pestaña de canal o grupo y puede permitir que los usuarios vuelvan a configurar la pestaña después de la instalación. Además, la experiencia de eliminación de pestañas proporciona a los usuarios opciones posteriores a la eliminación para eliminar o archivar contenido.

Nota:

En este tema se refleja la versión 2.0.x de la biblioteca cliente JavaScript de Microsoft Teams (TeamsJS). Si usa una versión anterior, consulte la introducción a la biblioteca TeamsJS para obtener instrucciones sobre las diferencias entre la versión más reciente de TeamsJS y las versiones anteriores.

Habilitar la pestaña para que se vuelva a configurar después de la instalación

El manifest.json define las características y funcionalidades de la pestaña. La propiedad de instancia canUpdateConfiguration de pestaña toma un valor booleano que indica si un usuario puede modificar o volver a configurar la pestaña después de crearla. En la tabla siguiente se proporcionan los detalles de la propiedad:

Nombre Tipo Tamaño máximo Necesario Descripción
canUpdateConfiguration Booleano Valor que indica si el usuario puede actualizar una instancia de la configuración de la pestaña tras su creación. El valor predeterminado es true.

Cuando la pestaña se carga en un canal o chat de grupo, Teams agrega un menú desplegable con el botón derecho para la pestaña. La configuración determina las canUpdateConfiguration opciones disponibles. En la tabla siguiente se proporcionan los detalles de configuración:

canUpdateConfiguration true false description
Configuración La configurationUrl página se vuelve a cargar en un iFrame, lo que permite al usuario volver a configurar la pestaña.
Cambiar nombre El usuario puede cambiar el nombre de la pestaña tal como aparece en la barra de pestañas.
Eliminar Si la propiedad y el removeURL valor se incluyen en la página de configuración, la página de eliminación se carga en un iFrame y se presenta al usuario. Si no se incluye una página de eliminación, se muestra al usuario un cuadro de diálogo de confirmación.

Crear una página de eliminación de pestañas para la aplicación

La página de eliminación opcional es una página HTML que hospeda y se muestra cuando se quita la pestaña. La dirección URL de la página de eliminación se designa mediante el setConfig() método (o setSettings() antes de TeamsJS v.2.0.0) dentro de la página de configuración. Al igual que con todas las páginas de la aplicación, la página de eliminación debe cumplir los requisitos previos de la pestaña Equipos.

Registrar un controlador de eliminación

Opcionalmente, dentro de la lógica de la página de eliminación, puede invocar el registerOnRemoveHandler((RemoveEvent) => {} controlador de eventos cuando el usuario quita una configuración de pestaña existente. El método toma la interfaz RemoveEvent y ejecuta el código en el controlador cuando un usuario intenta quitar contenido. El método se usa para realizar operaciones de limpieza, como quitar el recurso subyacente que alimenta el contenido de la pestaña. A la vez solo se puede registrar un controlador de eliminación.

La interfaz RemoveEvent describe un objeto con dos métodos:

  • Se requiere la función notifySuccess(). Indica que la eliminación del recurso subyacente se realizó correctamente y que se puede quitar su contenido.

  • La función notifyFailure(string) es opcional. Indica que se produjo un error en la eliminación del recurso subyacente y que no se puede quitar su contenido. El parámetro de cadena opcional especifica un motivo del error. Si se proporciona, esta cadena se muestra al usuario; de lo contrario, se muestra un error genérico.

Use la función getConfig()

Puede usar getConfig() (anteriormente getSettings()) para asignar el contenido de la pestaña que se va a quitar. La getConfig() función devuelve una promesa que se resuelve con el objeto Config y proporciona los valores de propiedad de configuración válidos que se pueden recuperar.

Use la función getContext()

Puede usar getContext() para obtener el contexto actual en el que se ejecuta el marco. La getContext() función devuelve una promesa que se resuelve con el objeto Context. El objeto Context proporciona valores de propiedad válidos Context que puede usar en la lógica de página de eliminación para determinar el contenido que se va a mostrar en la página de eliminación.

Incluir autenticación

Se requiere autenticación antes de permitir que un usuario elimine el contenido de la pestaña. La información de contexto se puede usar para ayudar a construir solicitudes de autenticación y direcciones URL de página de autorización. Consultar Flujo de autenticación de Microsoft Teams para pestañas Asegúrese de que todos los dominios usados en las páginas de pestaña aparecen en la validDomains matriz del manifiesto de la aplicación.

El ejemplo siguiente es un ejemplo de bloque de código de eliminación de pestañas:

<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>

Cuando un usuario selecciona Quitar en el menú desplegable de la pestaña, Teams carga la página opcional removeUrl asignada en la página de configuración en un iFrame. Se muestra al usuario un botón cargado con la onClick() función que llama pages.config.setValidityState(true) a y habilita el botón Quitar que se muestra en la parte inferior de la página de eliminación iFrame.

Después de ejecutar el controlador de eliminación, removeEvent.notifySuccess() o removeEvent.notifyFailure() notifica a Teams el resultado de la eliminación de contenido.

Nota:

  • Para asegurarse de que el control de un usuario autorizado sobre una pestaña no se inhiba, Teams quita la pestaña en casos de éxito y error.
  • Después de invocar el controlador de registerOnRemoveHandler eventos, responda al método en 15 segundos. La aplicación debe llamar setValidityState(true) a para habilitar el botón Quitar y para que se invoque el controlador de eliminación.
  • Cuando el usuario selecciona Quitar, Teams quita la pestaña después de 30 segundos, independientemente de si las acciones se han completado o no.

Paso siguiente

Vea también