Compartir por


Implementar un panel de tareas anclable en Outlook

La forma de experiencia de usuario del panel de tareas para los comandos de complemento abre un panel de tareas vertical a la derecha de un mensaje abierto o una convocatoria de reunión. Esto permite que un complemento proporcione una interfaz de usuario para interacciones más detalladas, como rellenar varios campos de texto. Este panel de tareas se puede mostrar en el panel de lectura al ver una lista de mensajes, lo que permite un procesamiento rápido de un mensaje.

Sin embargo, de forma predeterminada, si un usuario tiene un panel de tareas de complemento abierto para un mensaje en el panel de lectura y, a continuación, selecciona un nuevo mensaje, el panel de tareas se cierra automáticamente. Es posible que, en el caso de un complemento que se use mucho, el usuario prefiera mantener el panel abierto para eliminar la necesidad de volver a activar el complemento en cada mensaje. Con los paneles de tareas anclables, el complemento puede proporcionar al usuario esa opción.

Nota:

Aunque la característica del panel de tareas anclable se introdujo en el conjunto de requisitos 1.5, actualmente solo está disponible para los suscriptores de Microsoft 365 mediante lo siguiente:

  • Outlook en la Web (versión moderna)
  • Nuevo Outlook en Windows
  • Outlook 2016 clásico o posterior en Windows (compilación 7668.2000 o posterior para los usuarios de los canales actual o microsoft 365 insider, compilación 7900.xxxx o posterior para los usuarios de canales diferidos)
  • Outlook en Mac (versión 16.13 (18050300) o posterior)

Importante

Los paneles de tareas anclables no están disponibles para lo siguiente:

  • Citas o reuniones
  • Outlook.com

Modos de Outlook admitidos

Los paneles de tareas anclables se admiten en los modos message Compose y message read en Outlook. Sin embargo, el anclaje no se admite en diferentes modos. Esto se debe a que un complemento podría tener diferentes interfaces de usuario para botones y paneles de tareas en cada modo. Por ejemplo, si un usuario ancla el panel de tareas de un complemento mientras lee un mensaje y, a continuación, crea un mensaje nuevo, no verá el panel de tareas del complemento desde el mensaje que está redactando. Para ver el panel de tareas, el usuario debe activar el complemento desde el mensaje que está redactando. Si el usuario ancla el panel de tareas, el panel de tareas permanece anclado la próxima vez que el usuario redacta otro mensaje.

Admitir el anclado de paneles de tareas

El primer paso es agregar la compatibilidad con el anclado (debe realizarse en el manifiesto del complemento). El marcado varía en función del tipo de manifiesto que use el complemento.

Agregue una propiedad "anclable", establecida trueen , al objeto de la matriz "actions" que define el botón o elemento de menú que abre el panel de tareas. A continuación se muestra un ejemplo.

"actions": [
    {
        "id": "OpenTaskPane",
        "type": "openPage",
        "view": "TaskPaneView",
        "displayName": "OpenTaskPane",
        "pinnable": true
    }
]

Para obtener un ejemplo completo, vea el control msgReadOpenPaneButton del manifiesto de ejemplo command-demo.

Nota:

El anclaje del panel de tareas se admite automáticamente en un complemento que se activa sin el panel de lectura habilitado o un mensaje seleccionado por primera vez. Para obtener más información, vea Activar el complemento de Outlook sin el panel de lectura habilitado o un mensaje seleccionado.

Control de las actualizaciones de la interfaz de usuario en función del mensaje seleccionado en ese momento

Para actualizar la interfaz de usuario o las variables internas de su panel de tareas en función del elemento actual, deberá registrar un controlador de eventos para que se le notifique el cambio.

Implementar el controlador de eventos

El controlador de eventos debe aceptar un único parámetro, que es un literal de objeto. La propiedad type de este objeto se establecerá en Office.EventType.ItemChanged. Cuando se llama al evento, el objeto Office.context.mailbox.item ya se ha actualizado para reflejar el elemento que hay seleccionado actualmente.

function itemChanged(eventArgs) {
  // Update UI based on the new current item.
  updateTaskPaneUI(Office.context.mailbox.item);
}

Importante

La implementación de controladores de eventos para un ItemChanged evento debe comprobar si Office.content.mailbox.item es null o no.

// Example implementation.
function updateTaskPaneUI(item) {
  // Assuming that item is always a read item (instead of a compose item).
  if (item != null) console.log(item.subject);
}

Registrar el controlador de eventos

Use el método Office.context.mailbox.addHandlerAsync para registrar el controlador de eventos del evento Office.EventType.ItemChanged. Esto debe realizarse en la Office.onReady función del panel de tareas.

Office.onReady(() => {
  $(document).ready(() => {
    // Set up the ItemChanged event.
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);
    updateTaskPaneUI(Office.context.mailbox.item);
  });
});

Anclaje del panel de tareas en selección múltiple

En Outlook en la Web y nueva Outlook en Windows, cuando se abre el panel de tareas de un complemento que implementa la característica de selección múltiple de elementos, se ancla automáticamente al cliente de Outlook. Permanece anclado incluso cuando un usuario cambia a un elemento de correo diferente o selecciona el icono de anclar en el panel de tareas. El panel de tareas solo se puede cerrar seleccionando el botón Cerrar del panel de tareas.

Por el contrario, en Outlook clásico en Windows y Outlook en Mac, el panel de tareas de un complemento de selección múltiple no se ancla automáticamente y se cierra cuando un usuario cambia a otro elemento de correo.

Implementación en usuarios

Si tiene previsto publicar el complemento de Outlook en AppSource y está configurado con un panel de tareas anclable, el contenido anclado del complemento no debe ser estático. Es decir, el contenido anclado debe cambiar en función del mensaje o cita que esté abierto o seleccionado actualmente en el buzón. Esto garantiza que el complemento pasará la validación de AppSource.

Vea también

Para obtener un complemento de ejemplo que implemente un panel de tareas anclable, vea command-demo en GitHub.