<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<control xmlns="http://www.sap.com/sap.ui.library.xsd">
    <name>MessagePopover</name>
    <derived/>
    <author>SAP SE</author>
    <documentation>A &lt;code&gt;MessagePopover&lt;/code&gt; is used to display a summarized list of different types of messages (error, warning, success, and information messages).

&lt;h3&gt;Overview&lt;/h3&gt;

It provides a handy and systematized way to navigate and explore details for every message.
It is adaptive and responsive.
It renders as a dialog with a Close button in the header on phones, and as a popover on tablets and higher resolution devices.
It also exposes an event {@link sap.m.MessagePopover#event:activeTitlePress}, which can be used for navigation from a message to the source of the issue.
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; If your application changes its model between two interactions with the &lt;code&gt;MessagePopover&lt;/code&gt;, this could lead to outdated messages being shown.
To avoid this, you need to call &lt;code&gt;navigateBack&lt;/code&gt; when the model is updated.&lt;/li&gt;
&lt;li&gt; Messages can have descriptions preformatted with HTML markup. In this case, the &lt;code&gt;markupDescription&lt;/code&gt; has to be set to &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt; If the message cannot be fully displayed or includes a long description, the &lt;code&gt;MessagePopover&lt;/code&gt; provides navigation to the detailed description.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Structure&lt;/h3&gt;
The &lt;code&gt;MessagePopover&lt;/code&gt; stores all messages in an aggregation of type {@link sap.m.MessageItem} named &lt;code&gt;items&lt;/code&gt;.

A set of properties determines how the items are rendered:
&lt;ul&gt;
&lt;li&gt; counter - An integer that is used to indicate the number of errors for each type. &lt;/li&gt;
&lt;li&gt; type - The type of message. &lt;/li&gt;
&lt;li&gt; title/subtitle - The title and subtitle of the message.&lt;/li&gt;
&lt;li&gt; description - The long text description of the message.&lt;/li&gt;
&lt;li&gt; activeTitle - Determines whether the title of the item is interactive.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Usage&lt;/h3&gt;
&lt;h4&gt;When to use:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;When you want to make sure that all content is visible on any device.&lt;/li&gt;
&lt;li&gt;When you want a way to centrally manage messages and show them to the user without additional work for the developer.
The &lt;code&gt;MessagePopover&lt;/code&gt; is triggered from a messaging button in the footer toolbar. If an error has occurred at any validation point,
the total number of messages should be incremented, but the user's work shouldn't be interrupted.
Navigation between the message item and the source of the error can be created, if needed by the application.
This can be done by setting the &lt;code&gt;activeTitle&lt;/code&gt; property to &lt;code&gt;true&lt;/code&gt; and providing a handler for the &lt;code&gt;activeTitlePress&lt;/code&gt; event.
In addition, you can achieve the same functionality inside a different container using the {@link sap.m.MessageView} control.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Responsive Behavior&lt;/h3&gt;
On mobile phones, the &lt;code&gt;MessagePopover&lt;/code&gt; is automatically shown in full screen mode.&lt;br&gt;
On desktop and tablet, the message popover opens in a popover.&lt;br&gt;
On desktop the opened popover is resizable, if it is placed in a {@link sap.m.Toolbar}, {@link sap.m.Bar}, or used in {@link sap.m.semantic.SemanticPage}.</documentation>
    <since>1.28</since>
    <baseType>sap.ui.core/Control</baseType>
    <properties>
        <property name="asyncDescriptionHandler" type="sap.ui.core/any" group="Behavior">
            <documentation>Callback function for resolving a promise after description has been asynchronously loaded inside this function.</documentation>
        </property>
        <property name="asyncURLHandler" type="sap.ui.core/any" group="Behavior">
            <documentation>Callback function for resolving a promise after a link has been asynchronously validated inside this function.</documentation>
        </property>
        <property name="placement" type="sap.m/VerticalPlacementType" defaultValue="Vertical" group="Behavior">
            <documentation>Determines the position, where the control will appear on the screen.
The default value is &lt;code&gt;sap.m.VerticalPlacementType.Vertical&lt;/code&gt;. Setting this property while the control is open, will not cause any re-rendering and changing of the position. Changes will only be applied with the next interaction.</documentation>
        </property>
        <property name="initiallyExpanded" type="sap.ui.core/boolean" defaultValue="true" group="Behavior">
            <documentation>Sets the initial state of the control - expanded or collapsed. By default the control opens as expanded.
Note: If there is only one message in the control, this state will be ignored and the details page of the message will be shown.</documentation>
        </property>
        <property name="groupItems" type="sap.ui.core/boolean" defaultValue="false" group="Behavior">
            <documentation>Defines whether the MessageItems are grouped or not.</documentation>
        </property>
    </properties>
    <events>
        <event name="afterOpen" allowPreventDefault="false">
            <documentation>Event fired after the popover is opened.</documentation>
            <parameters>
                <parameter name="openBy" type="sap.ui.core/Control">
                    <documentation>Refers to the control that opens the popover.</documentation>
                </parameter>
            </parameters>
        </event>
        <event name="afterClose" allowPreventDefault="false">
            <documentation>Event fired after the popover is closed.</documentation>
            <parameters>
                <parameter name="openBy" type="sap.ui.core/Control">
                    <documentation>Refers to the control that opens the popover.</documentation>
                </parameter>
            </parameters>
        </event>
        <event name="beforeOpen" allowPreventDefault="false">
            <documentation>Event fired before the popover is opened.</documentation>
            <parameters>
                <parameter name="openBy" type="sap.ui.core/Control">
                    <documentation>Refers to the control that opens the popover.</documentation>
                </parameter>
            </parameters>
        </event>
        <event name="beforeClose" allowPreventDefault="false">
            <documentation>Event fired before the popover is closed.</documentation>
            <parameters>
                <parameter name="openBy" type="sap.ui.core/Control">
                    <documentation>Refers to the control that opens the popover.
See {@link sap.ui.core.MessageType} enum values for types.</documentation>
                </parameter>
            </parameters>
        </event>
        <event name="itemSelect" allowPreventDefault="false">
            <documentation>Event fired when description is shown.</documentation>
            <parameters>
                <parameter name="item" type="sap.m/MessagePopoverItem">
                    <documentation>Refers to the &lt;code&gt;MessagePopover&lt;/code&gt; item that is being presented.</documentation>
                </parameter>
                <parameter name="messageTypeFilter" type="sap.ui.core/MessageType">
                    <documentation>Refers to the type of messages being shown.</documentation>
                </parameter>
            </parameters>
        </event>
        <event name="listSelect" allowPreventDefault="false">
            <documentation>Event fired when one of the lists is shown when (not) filtered  by type.</documentation>
            <parameters>
                <parameter name="messageTypeFilter" type="sap.ui.core/MessageType">
                    <documentation>This parameter refers to the type of messages being shown.</documentation>
                </parameter>
            </parameters>
        </event>
        <event name="longtextLoaded" allowPreventDefault="false">
            <documentation>Event fired when the long text description data from a remote URL is loaded.</documentation>
        </event>
        <event name="urlValidated" allowPreventDefault="false">
            <documentation>Event fired when a validation of a URL from long text description is ready.</documentation>
        </event>
        <event name="activeTitlePress" since="1.58" allowPreventDefault="false">
            <documentation>Event fired when an active title of a &lt;code&gt;MessageItem&lt;/code&gt; is clicked.</documentation>
            <parameters>
                <parameter name="item" type="sap.m/MessageItem">
                    <documentation>Refers to the message item that contains the activeTitle.</documentation>
                </parameter>
            </parameters>
        </event>
    </events>
    <aggregations default="items">
        <aggregation name="items" type="sap.m/MessageItem" cardinality="0..n">
            <documentation>A list with message items.</documentation>
        </aggregation>
        <aggregation name="headerButton" type="sap.m/Button" cardinality="0..1">
            <documentation>Sets a custom header button.</documentation>
        </aggregation>
    </aggregations>
    <methods>
        <method name="openBy" type="sap.m/MessagePopover">
            <documentation>Opens the MessagePopover</documentation>
            <parameters>
                <parameter name="control" type="sap.ui.core/Control">
                    <documentation>Control which opens the MessagePopover</documentation>
                </parameter>
            </parameters>
        </method>
    </methods>
</control>
