Intro

The message popover control can display multiple messages of different types in one list. For example, it might show several messages related to entries in a form, or messages triggered by a finalizing action, such as Save.

The message popover is used in conjunction with a technical message manager, which populates the message list. If an error occurs at a validation point, the corresponding message is added to the message popover automatically, without interrupting the user.

Users can browse messages by type and navigate to the message details. In some cases, they can also jump directly from the message to the affected field on the UI.

Message popover

When to Use

Use the message popover if:

Do not use the message popover if:

Components

  1. Filter bar
  2. Section/subsection on the UI
  3. Short description
  4. Subtitle
  5. Message button
  6. Navigation to message details
  7. Counter for aggregated messages

Components of the message popover

Filter Bar

Initially, the filter bar shows all the different message types in the list (1).

Segmented buttons at the top of the message popover allow the user to filter the messages by type (error, warning, success, and information).

List (1)

Short Description (2)

A simple and helpful short message text. It’s the same message as the one attached to the UI control where the issue occurred.

Subtitle (3)

You can use the subtitle to give your message an identifier. If the message relates to a specific field, show the label of the field where the error occurred. Based on the subtitle, the user should be able to identify the corresponding UI control on the UI (for example, the input field in a form).

When issues are in a table, the subtitle area can contain the identifiers of the row and column containing the issue (see Messaging for Tables).

Section/Subsection (4)

Messages in the list are grouped by the section and subsection on the UI. This helps the user to find the part of the UI that triggered the message.

Usually, the grouping reflects the hierarchy of the page. However, some messages relate to issues that do not belong to a particular field on a page, but result from an action. In this case, the group title is as follows:

  • Last Action: <Action Label> (Example: Last Action: Save)
  • Last Action (fallback solution)

When issues are in a table, the group header can contain the table name, along with title of the page section (see Messaging for Tables).

'Last Action' group in the message list

If message details are provided, the message popover automatically provides a chevron on the right-hand side for navigating to the message details page.

If the popover contains only one message that also has message details, the message details page is displayed by default (see Behavior and Interaction).

Aggregated Messages (7)

If you want to aggregate messages, you can use the counter property of each list item.

Message Button

If there are messages to display, the message button indicates the most critical message status in the list (5).

For example, if the list contains error messages, the message button inherits the error icon and semantic color. If the most critical message in the list is a warning, the message button shows the warning icon and corresponding semantic color, and so on.

In addition, the button contains a count indicating the number of messages of the most critical type.

Message button types - Error, warning, success, information

If there are no messages to display, there is no message button. In this case, the footer toolbar contains only the “normal” actions for the task.

Message Details

The message details page shows:

  1. Message short text
  2. Message subtitle
  3. More detailed message text to explain the issue and propose a solution
  4. An optional link to more information, such as app documentation

Details page of the message popover

Messaging for Tables

The message popover includes information for locating issues in tables.

  1. The group header contains the section name and table name. If the issue appears in a specific view, the group header also contains the view name.

  2. The subtitle shows the identifiers of the row and column containing the issue.

    • If the row or column is currently hidden (for example, by table personalization), a “Hidden” text is shown.
    • If the field doesn’t show in the table itself but is part of a sub-object, only the row identifier is displayed (3).

Message popover displaying messages for a table

Behavior and Interaction

When Does the Message Popover Open?

Form Field Validation

If one or more errors occur when the user fills out a form, the message button appears, indicating the message type of the most critical message. The message popover does not open automatically. For more information on the different validation points, see Form Field Validation.

Form field validation behavior

Finalizing Actions

If the user activates a finalizing action (such as Create, Save, or Submit), the message popover opens automatically to inform the user about the errors on the UI that need to be resolved first.

Message popover triggered by a finalizing 'Save' action

If the popover contains only one message that also has message details, the message details page is displayed by default.

If the message provides a long text from the back-end system, the user can navigate to the message details. There, the user will typically find more information and help.

In-Page Navigation

The navigation link takes users directly to the field on the UI that triggered the message. The message popover is hidden and the page scrolls to the field, as required. The field can be in the visible area or somewhere else on the same page. The user can show the message popover at any time by clicking the button in the footer bar or using the keyboard command SHIFT+CTRL+M.

Navigation to the relevant field

guideline
Always add a navigation link, where possible.
hint
Set the navigation link with the activeTitlePress event. This allows users to click the message text in both the first and second page of the message popover.

Some errors are not visible on the page where the message popover is. They can be located on a subobject page (an item in a table, for instance).

In that case, the navigation link leads to the target page with focus on the affected field.

If possible, provide a breadcrumb navigation on the target page. Also, make sure that the back button of the shell bar returns to the page where the message popover was.

Responsiveness

Size S (Smartphone)

On smartphones, the message popover is automatically shown in full screen mode.

Full screen message popover on a smartphone

Top Tips

Components

Implementation

Specifications

Components

Implementation