/** * @class Ext.menu.Item * @extend Ext.Component * @alias widget.menuitem * * A base class for all menu items that require menu-related functionality such as click handling, * sub-menus, icons, etc. * * @example packages=[ext-react] * import React, { Component } from 'react'; * import { ExtReact, Button, Container, Menu, MenuItem } from '@sencha/ext-react'; * * export default class MyExample extends Component { * render() { * return ( * <ExtReact> * <Container> * <Button text="Menu"> * <Menu rel="menu" > * <MenuItem text="Mobile" name="ui-type" /> * <MenuItem text="Desktop" name="ui-type"/> * </Menu> * </Button> * </Container> * </ExtReact> * ) * } * } */ /** * @cfg {String} [href='#'] * The href attribute to use for the underlying anchor link. * @accessor */ /** * @cfg {String} [target=null] * The target attribute to use for the underlying anchor link. * @accessor */ /** * @cfg {Function/String} [handler=null] * A function called when the menu item is clicked (can be used instead of {@link #click} event). * @cfg {Ext.menu.Item} handler.item The item that was clicked * @cfg {Ext.event.Event} handler.e The underlying {@link Ext.event.Event}. * @controllable * @accessor */ /** * @cfg {String} [text=null] * The text to display in the menu item. * @accessor */ /** * @cfg {Ext.menu.Menu/Object} [menu=null] * Either an instance of {@link Ext.menu.Menu} or a config object for an {@link Ext.menu.Menu} * which will act as a sub-menu to this item. * @accessor */ /** * @cfg {String} [menuAlign='tl-tr?'] * The default {@link Ext.util.Positionable#getAlignToXY Ext.util.Positionable.getAlignToXY} * anchor position value for this item's sub-menu relative to this item's position. * @accessor */ /** * @cfg {String} [icon=null] * The url of an icon to display as the background image of the icon. * @accessor */ /** * @cfg {String} [iconCls=null] * The CSS class to apply to the icon. * @accessor */ /** * @cfg {String} [iconAlign=start] * The side of teh text to place the icon. Defaults to `'start'` meaning at the * left in LTR locales. * @accessor */ /** * @cfg {Boolean} [separator=null] * If `true`, this item places an {@link Ext.menu.Separator} above itself unless * it is the first visible item. * * @accessor */ /** * @property {Boolean} [isMenuItem=true] * `true` in this class to identify an object as an instantiated Menu Item, or subclass thereof. */ /** * @cfg {Number} [menuExpandDelay=200] * The delay in milliseconds before this item's sub-menu expands after this item is moused over. */ /** * @cfg {Number} [menuHideDelay=200] * The delay in milliseconds before this item's sub-menu hides after this item is moused out. */ /** * @cfg {Object} [scope=null] * The scope (`this` refeence) in which the configured {@link #handler} will be executed, * unless the scope is a ViewController method nmame. * @accessor */ /** * @cfg {Boolean} [destroyMenu=true] * Whether or not to destroy any associated sub-menu when this item is destroyed. */ /** * @cfg {Number} [clickHideDelay=0] * The delay in milliseconds to wait before hiding the menu after clicking the menu item. * This only has an effect when `hideOnClick: true`. */ /** * @cfg {Boolean} [hideOnClick=true] * Whether to not to hide the owning menu when this item is clicked. */