The sap.m.MenuButton
control enables the user to show a hierarchical menu.
Constructor for a new MenuButton.
Accepts an object literal mSettings
that defines initial property values, aggregated and associated objects as well as event handlers. See sap.ui.base.ManagedObject#constructor for a general description of the syntax of the settings object.
new sap.m.MenuButton(sId?, mSettings?)
Param | Type | Default Value | Description |
---|---|---|---|
sId? | string | ID for the new control, generated automatically if no ID is given |
|
mSettings? | object | Initial settings for the new control |
Name | Type | Default Value | Description |
---|---|---|---|
activeIcon | sap.ui.core.URI | The source property of an alternative icon for the active (pressed) state of the button. Both active and default icon properties should be defined and of the same type - image or icon font. If the |
|
buttonMode | sap.m.MenuButtonMode | Regular | Defines whether the |
enabled | boolean | true | Boolean property to enable the control (default is |
icon | sap.ui.core.URI | Defines the icon to be displayed as a graphical element within the button. It can be an image or an icon from the icon font. Visibility: public |
|
iconDensityAware | boolean | true | When set to |
menuPosition | sap.ui.core.Popup.Dock | BeginBottom | Specifies the position of the popup menu with enumerated options. By default, the control opens the menu at its bottom left side. Note: In the case that the menu has no space to show itself in the view port of the current window it tries to open itself to the inverted direction. |
text | string | Defines the text of the |
|
textDirection | sap.ui.core.TextDirection | Inherit | Specifies the element's text directionality with enumerated options. By default, the control inherits text direction from the DOM. Visibility: public |
type | sap.m.ButtonType | Default | Defines the type of the Note: Not all existing types are valid for the control. See sap.m.ButtonType documentation. Visibility: public |
useDefaultActionOnly | boolean | false | Controls whether the default action handler is invoked always or it is invoked only until a menu item is selected. Usable only if |
width | sap.ui.core.CSSSize | Defines the width of the |
Default Aggregation: menu
Name | Cardinality | Type | Description |
---|---|---|---|
_button | 0..1 | sap.ui.core.Control |
Internal aggregation that contains the button part. |
menu (default) | 0..1 | sap.m.Menu |
Defines the menu that opens for this button. |
Name | Cardinality | Type | Description |
---|---|---|---|
ariaDescribedBy | 0..n | sap.ui.core.Control |
Association to controls / ids which describe this control (see WAI-ARIA attribute aria-describedby). |
ariaLabelledBy | 0..n | sap.ui.core.Control |
Association to controls / ids which label this control (see WAI-ARIA attribute aria-labelledby). |
Event | Description |
---|---|
beforeMenuOpen |
Fired before menu opening when the |
defaultAction |
Fired when the |
Fired before menu opening when the buttonMode
is set to Split
and the user presses the arrow button.
Since: 1.94.0.
Param | Type | Description |
---|---|---|
oControlEvent | sap.ui.base.Event | |
getSource | sap.ui.base.EventProvider | |
getParameters | object |
Fired when the buttonMode
is set to Split
and the user presses the main button unless useDefaultActionOnly
is set to false
and another action from the menu has been selected previously.
Param | Type | Description |
---|---|---|
oControlEvent | sap.ui.base.Event | |
getSource | sap.ui.base.EventProvider | |
getParameters | object |
Method | Description |
---|---|
addAriaDescribedBy |
Adds some ariaDescribedBy into the association ariaDescribedBy. |
addAriaLabelledBy |
Adds some ariaLabelledBy into the association ariaLabelledBy. |
attachBeforeMenuOpen |
Attaches event handler When called, the context of the event handler (its Fired before menu opening when the |
attachDefaultAction |
Attaches event handler When called, the context of the event handler (its Fired when the |
destroyMenu |
Destroys the menu in the aggregation menu. |
detachBeforeMenuOpen |
Detaches event handler The passed function and listener object must match the ones used for event registration. |
detachDefaultAction |
Detaches event handler The passed function and listener object must match the ones used for event registration. |
sap.m.MenuButton.extend |
Creates a new subclass of class sap.m.MenuButton with name
|
fireBeforeMenuOpen |
Fires event beforeMenuOpen to attached listeners. |
fireDefaultAction |
Fires event defaultAction to attached listeners. |
getActiveIcon |
Gets current value of property activeIcon. The source property of an alternative icon for the active (pressed) state of the button. Both active and default icon properties should be defined and of the same type - image or icon font. If the |
getAriaDescribedBy |
Returns array of IDs of the elements which are the current targets of the association ariaDescribedBy. |
getAriaLabelledBy |
Returns array of IDs of the elements which are the current targets of the association ariaLabelledBy. |
getButtonMode |
Gets current value of property buttonMode. Defines whether the Default value is |
getEnabled |
Gets current value of property enabled. Boolean property to enable the control (default is Default value is |
getIcon |
Gets current value of property icon. Defines the icon to be displayed as a graphical element within the button. It can be an image or an icon from the icon font. |
getIconDensityAware |
Gets current value of property iconDensityAware. When set to Default value is |
getIdForLabel |
Returns the DOMNode Id to be used for the "labelFor" attribute of the label. By default, this is the Id of the control itself. |
getMenu |
Gets content of aggregation menu. Defines the menu that opens for this button. |
getMenuPosition |
Gets current value of property menuPosition. Specifies the position of the popup menu with enumerated options. By default, the control opens the menu at its bottom left side. Note: In the case that the menu has no space to show itself in the view port of the current window it tries to open itself to the inverted direction. Default value is |
sap.m.MenuButton.getMetadata |
Returns a metadata object for class sap.m.MenuButton. |
getText |
Gets current value of property text. Defines the text of the |
getTextDirection |
Gets current value of property textDirection. Specifies the element's text directionality with enumerated options. By default, the control inherits text direction from the DOM. Default value is |
getType |
Gets current value of property type. Defines the type of the Note: Not all existing types are valid for the control. See sap.m.ButtonType documentation. Default value is |
getUseDefaultActionOnly |
Gets current value of property useDefaultActionOnly. Controls whether the default action handler is invoked always or it is invoked only until a menu item is selected. Usable only if Default value is |
getWidth |
Gets current value of property width. Defines the width of the |
init |
Initializes the control. |
removeAllAriaDescribedBy |
Removes all the controls in the association named ariaDescribedBy. |
removeAllAriaLabelledBy |
Removes all the controls in the association named ariaLabelledBy. |
removeAriaDescribedBy |
Removes an ariaDescribedBy from the association named ariaDescribedBy. |
removeAriaLabelledBy |
Removes an ariaLabelledBy from the association named ariaLabelledBy. |
setActiveIcon |
Sets a new value for property activeIcon. The source property of an alternative icon for the active (pressed) state of the button. Both active and default icon properties should be defined and of the same type - image or icon font. If the When called with a value of |
setButtonMode |
Sets the |
setEnabled |
Sets a new value for property enabled. Boolean property to enable the control (default is When called with a value of Default value is |
setIcon |
Sets a new value for property icon. Defines the icon to be displayed as a graphical element within the button. It can be an image or an icon from the icon font. When called with a value of |
setIconDensityAware |
Sets a new value for property iconDensityAware. When set to When called with a value of Default value is |
setMenu |
Sets the aggregated menu. |
setMenuPosition |
Sets a new value for property menuPosition. Specifies the position of the popup menu with enumerated options. By default, the control opens the menu at its bottom left side. Note: In the case that the menu has no space to show itself in the view port of the current window it tries to open itself to the inverted direction. When called with a value of Default value is |
setText |
Sets a new value for property text. Defines the text of the When called with a value of |
setTextDirection |
Sets a new value for property textDirection. Specifies the element's text directionality with enumerated options. By default, the control inherits text direction from the DOM. When called with a value of Default value is |
setTooltip |
Sets the tooltip for the |
setType |
Sets a new value for property type. Defines the type of the Note: Not all existing types are valid for the control. See sap.m.ButtonType documentation. When called with a value of Default value is |
setUseDefaultActionOnly |
Sets a new value for property useDefaultActionOnly. Controls whether the default action handler is invoked always or it is invoked only until a menu item is selected. Usable only if When called with a value of Default value is |
setWidth |
Sets a new value for property width. Defines the width of the When called with a value of |
Adds some ariaDescribedBy into the association ariaDescribedBy.
Param | Type | DefaultValue | Description |
---|---|---|---|
vAriaDescribedBy | sap.ui.core.ID sap.ui.core.Control |
The ariaDescribedBy to add; if empty, nothing is inserted |
Adds some ariaLabelledBy into the association ariaLabelledBy.
Param | Type | DefaultValue | Description |
---|---|---|---|
vAriaLabelledBy | sap.ui.core.ID sap.ui.core.Control |
The ariaLabelledBy to add; if empty, nothing is inserted |
Attaches event handler fnFunction
to the beforeMenuOpen event of this sap.m.MenuButton
.
When called, the context of the event handler (its this
) will be bound to oListener
if specified, otherwise it will be bound to this sap.m.MenuButton
itself.
Fired before menu opening when the buttonMode
is set to Split
and the user presses the arrow button.
Param | Type | DefaultValue | Description |
---|---|---|---|
oData | object |
An application-specific payload object that will be passed to the event handler along with the event object when firing the event |
|
fnFunction | function(sap.ui.base.Event) : void |
The function to be called when the event occurs |
|
oListener | object |
Context object to call the event handler with. Defaults to this |
Attaches event handler fnFunction
to the defaultAction event of this sap.m.MenuButton
.
When called, the context of the event handler (its this
) will be bound to oListener
if specified, otherwise it will be bound to this sap.m.MenuButton
itself.
Fired when the buttonMode
is set to Split
and the user presses the main button unless useDefaultActionOnly
is set to false
and another action from the menu has been selected previously.
Param | Type | DefaultValue | Description |
---|---|---|---|
oData | object |
An application-specific payload object that will be passed to the event handler along with the event object when firing the event |
|
fnFunction | function(sap.ui.base.Event) : void |
The function to be called when the event occurs |
|
oListener | object |
Context object to call the event handler with. Defaults to this |
Detaches event handler fnFunction
from the beforeMenuOpen event of this sap.m.MenuButton
.
The passed function and listener object must match the ones used for event registration.
Param | Type | DefaultValue | Description |
---|---|---|---|
fnFunction | function(sap.ui.base.Event) : void |
The function to be called, when the event occurs |
|
oListener | object |
Context object on which the given function had to be called |
Detaches event handler fnFunction
from the defaultAction event of this sap.m.MenuButton
.
The passed function and listener object must match the ones used for event registration.
Param | Type | DefaultValue | Description |
---|---|---|---|
fnFunction | function(sap.ui.base.Event) : void |
The function to be called, when the event occurs |
|
oListener | object |
Context object on which the given function had to be called |
Creates a new subclass of class sap.m.MenuButton with name sClassName
and enriches it with the information contained in oClassInfo
.
oClassInfo
might contain the same kind of information as described in sap.ui.core.Control.extend.
Param | Type | DefaultValue | Description |
---|---|---|---|
sClassName | string |
Name of the class being created |
|
oClassInfo | object |
Object literal with information about the class |
|
FNMetaImpl | function |
Constructor function for the metadata object; if not given, it defaults to the metadata implementation used by this class |
Fires event beforeMenuOpen to attached listeners.
Param | Type | DefaultValue | Description |
---|---|---|---|
mParameters | object |
Parameters to pass along with the event |
Fires event defaultAction to attached listeners.
Param | Type | DefaultValue | Description |
---|---|---|---|
mParameters | object |
Parameters to pass along with the event |
Gets current value of property activeIcon.
The source property of an alternative icon for the active (pressed) state of the button. Both active and default icon properties should be defined and of the same type - image or icon font. If the icon
property is not set or has a different type, the active icon is not displayed.
Returns array of IDs of the elements which are the current targets of the association ariaDescribedBy.
Returns array of IDs of the elements which are the current targets of the association ariaLabelledBy.
Gets current value of property buttonMode.
Defines whether the MenuButton
is set to Regular
or Split
mode.
Default value is Regular
.
Gets current value of property enabled.
Boolean property to enable the control (default is true
).
Note: Depending on custom settings, the buttons that are disabled have other colors than the enabled ones.
Default value is true
.
Gets current value of property icon.
Defines the icon to be displayed as a graphical element within the button. It can be an image or an icon from the icon font.
Gets current value of property iconDensityAware.
When set to true
(default), one or more requests are sent trying to get the density perfect version of image if this version of image doesn't exist on the server. If only one version of image is provided, set this value to false
to avoid the attempt of fetching density perfect image.
Default value is true
.
Returns the DOMNode Id to be used for the "labelFor" attribute of the label.
By default, this is the Id of the control itself.
Gets current value of property menuPosition.
Specifies the position of the popup menu with enumerated options. By default, the control opens the menu at its bottom left side.
Note: In the case that the menu has no space to show itself in the view port of the current window it tries to open itself to the inverted direction.
Default value is BeginBottom
.
Gets current value of property text.
Defines the text of the MenuButton
.
Note: In Split
buttonMode
with useDefaultActionOnly
set to false
, the text is changed to display the last selected item's text, while in Regular
buttonMode
the text stays unchanged.
Gets current value of property textDirection.
Specifies the element's text directionality with enumerated options. By default, the control inherits text direction from the DOM.
Default value is Inherit
.
Gets current value of property type.
Defines the type of the MenuButton
(for example, Default, Accept, Reject, Back, etc.)
Note: Not all existing types are valid for the control. See sap.m.ButtonType documentation.
Default value is Default
.
Gets current value of property useDefaultActionOnly.
Controls whether the default action handler is invoked always or it is invoked only until a menu item is selected. Usable only if buttonMode
is set to Split
.
Default value is false
.
Gets current value of property width.
Defines the width of the MenuButton
.
Note:As per visual design this width can be maximum of 12rem (192px).
Removes an ariaDescribedBy from the association named ariaDescribedBy.
Param | Type | DefaultValue | Description |
---|---|---|---|
vAriaDescribedBy | int sap.ui.core.ID sap.ui.core.Control |
The ariaDescribedBy to be removed or its index or ID |
Removes an ariaLabelledBy from the association named ariaLabelledBy.
Param | Type | DefaultValue | Description |
---|---|---|---|
vAriaLabelledBy | int sap.ui.core.ID sap.ui.core.Control |
The ariaLabelledBy to be removed or its index or ID |
Sets a new value for property activeIcon.
The source property of an alternative icon for the active (pressed) state of the button. Both active and default icon properties should be defined and of the same type - image or icon font. If the icon
property is not set or has a different type, the active icon is not displayed.
When called with a value of null
or undefined
, the default value of the property will be restored.
Param | Type | DefaultValue | Description |
---|---|---|---|
sActiveIcon | sap.ui.core.URI |
New value for property |
Sets the buttonMode
of the control.
Param | Type | DefaultValue | Description |
---|---|---|---|
sMode | sap.m.MenuButtonMode |
The new button mode |
Sets a new value for property enabled.
Boolean property to enable the control (default is true
).
Note: Depending on custom settings, the buttons that are disabled have other colors than the enabled ones.
When called with a value of null
or undefined
, the default value of the property will be restored.
Default value is true
.
Param | Type | DefaultValue | Description |
---|---|---|---|
bEnabled | boolean | true |
New value for property |
Sets a new value for property icon.
Defines the icon to be displayed as a graphical element within the button. It can be an image or an icon from the icon font.
When called with a value of null
or undefined
, the default value of the property will be restored.
Param | Type | DefaultValue | Description |
---|---|---|---|
sIcon | sap.ui.core.URI |
New value for property |
Sets a new value for property iconDensityAware.
When set to true
(default), one or more requests are sent trying to get the density perfect version of image if this version of image doesn't exist on the server. If only one version of image is provided, set this value to false
to avoid the attempt of fetching density perfect image.
When called with a value of null
or undefined
, the default value of the property will be restored.
Default value is true
.
Param | Type | DefaultValue | Description |
---|---|---|---|
bIconDensityAware | boolean | true |
New value for property |
Sets the aggregated menu.
Param | Type | DefaultValue | Description |
---|---|---|---|
oMenu | sap.m.Menu |
The menu to set |
Sets a new value for property menuPosition.
Specifies the position of the popup menu with enumerated options. By default, the control opens the menu at its bottom left side.
Note: In the case that the menu has no space to show itself in the view port of the current window it tries to open itself to the inverted direction.
When called with a value of null
or undefined
, the default value of the property will be restored.
Default value is BeginBottom
.
Param | Type | DefaultValue | Description |
---|---|---|---|
sMenuPosition | sap.ui.core.Popup.Dock | BeginBottom |
New value for property |
Sets a new value for property text.
Defines the text of the MenuButton
.
Note: In Split
buttonMode
with useDefaultActionOnly
set to false
, the text is changed to display the last selected item's text, while in Regular
buttonMode
the text stays unchanged.
When called with a value of null
or undefined
, the default value of the property will be restored.
Param | Type | DefaultValue | Description |
---|---|---|---|
sText | string |
New value for property |
Sets a new value for property textDirection.
Specifies the element's text directionality with enumerated options. By default, the control inherits text direction from the DOM.
When called with a value of null
or undefined
, the default value of the property will be restored.
Default value is Inherit
.
Param | Type | DefaultValue | Description |
---|---|---|---|
sTextDirection | sap.ui.core.TextDirection | Inherit |
New value for property |
Sets the tooltip for the MenuButton
. Can either be an instance of a TooltipBase subclass or a simple string.
Param | Type | DefaultValue | Description |
---|---|---|---|
vTooltip | sap.ui.core.TooltipBase |
The tooltip that should be shown. |
Sets a new value for property type.
Defines the type of the MenuButton
(for example, Default, Accept, Reject, Back, etc.)
Note: Not all existing types are valid for the control. See sap.m.ButtonType documentation.
When called with a value of null
or undefined
, the default value of the property will be restored.
Default value is Default
.
Param | Type | DefaultValue | Description |
---|---|---|---|
sType | sap.m.ButtonType | Default |
New value for property |
Sets a new value for property useDefaultActionOnly.
Controls whether the default action handler is invoked always or it is invoked only until a menu item is selected. Usable only if buttonMode
is set to Split
.
When called with a value of null
or undefined
, the default value of the property will be restored.
Default value is false
.
Param | Type | DefaultValue | Description |
---|---|---|---|
bUseDefaultActionOnly | boolean | false |
New value for property |
Sets a new value for property width.
Defines the width of the MenuButton
.
Note:As per visual design this width can be maximum of 12rem (192px).
When called with a value of null
or undefined
, the default value of the property will be restored.
Param | Type | DefaultValue | Description |
---|---|---|---|
sWidth | sap.ui.core.CSSSize |
New value for property |