# Yahoo! UI Library

### Menu Library

Yahoo! UI Library > menu > contextmenuitem.js (source view)

    /**
    * Creates an item for a context menu.
    *
    * @param {String} p_oObject String specifying the text of the context menu item.
    * @param {<a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object specifying the
    * <code>&#60;li&#62;</code> element of the context menu item.
    * @param {<a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject Object
    * specifying the <code>&#60;optgroup&#62;</code> element of the context
    * menu item.
    * @param {<a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object specifying
    * the <code>&#60;option&#62;</code> element of the context menu item.
    * @param {Object} p_oConfig Optional. Object literal specifying the
    * configuration for the context menu item. See configuration class
    * documentation for more details.
    * @class ContextMenuItem
    * @constructor
    * @extends YAHOO.widget.MenuItem
    */
    YAHOO.widget.ContextMenuItem = function(p_oObject, p_oConfig) {

        YAHOO.widget.ContextMenuItem.superclass.constructor.call(
            this,
            p_oObject,
            p_oConfig
        );

    };

    YAHOO.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem, {

    /**
    * @method init
    * @description The ContextMenuItem class's initialization method. This method
    * is automatically called by the constructor, and sets up all DOM references
    * for pre-existing markup, and creates required markup if it is not
    * already present.
    * @param {String} p_oObject String specifying the text of the context menu item.
    * @param {<a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-74680021">HTMLLIElement</a>} p_oObject Object specifying the
    * <code>&#60;li&#62;</code> element of the context menu item.
    * @param {<a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-38450247">HTMLOptGroupElement</a>} p_oObject Object
    * specifying the <code>&#60;optgroup&#62;</code> element of the context
    * menu item.
    * @param {<a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-
    * one-html.html#ID-70901257">HTMLOptionElement</a>} p_oObject Object specifying
    * the <code>&#60;option&#62;</code> element of the context menu item.
    * @param {Object} p_oConfig Optional. Object literal specifying the
    * configuration for the context menu item. See configuration class
    * documentation for more details.
    */
    init: function(p_oObject, p_oConfig) {

        if(!this.SUBMENU_TYPE) {

            this.SUBMENU_TYPE = YAHOO.widget.ContextMenu;

        }

        /*
            Call the init of the superclass (YAHOO.widget.MenuItem)
            Note: We don't pass the user config in here yet
            because we only want it executed once, at the lowest
            subclass level.
        */

        YAHOO.widget.ContextMenuItem.superclass.init.call(this, p_oObject);

        var oConfig = this.cfg;

        if(p_oConfig) {

            oConfig.applyConfig(p_oConfig, true);

        }

        oConfig.fireQueue();

    },

    // Public methods

    /**
    * @method toString
    * @description Returns a string representing the context menu item.
    * @return {String}
    */
    toString: function() {

        return ("MenuBarItem: " + this.cfg.getProperty("text"));

    }

    }); // END YAHOO.extend

Copyright © 2006 Yahoo! Inc. All rights reserved.