/*!
 * Ext JS Library 3.0.3
 * Copyright(c) 2006-2009 Ext JS, LLC
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
/** * @class Ext.menu.ColorMenu * @extends Ext.menu.Menu *

A menu containing a {@link Ext.ColorPalette} Component.

*

Notes:

* * @xtype colormenu */ Ext.menu.ColorMenu = Ext.extend(Ext.menu.Menu, {
/** * @cfg {Boolean} enableScrolling * @hide */ enableScrolling : false,
/** * @cfg {Function} handler * Optional. A function that will handle the select event of this menu. * The handler is passed the following parameters:
*/
/** * @cfg {Object} scope * The scope (this reference) in which the {@link #handler} * function will be called. Defaults to this ColorMenu instance. */
/** * @cfg {Boolean} hideOnClick * False to continue showing the menu after a color is selected, defaults to true. */ hideOnClick : true, cls : 'x-color-menu',
/** * @cfg {String} paletteId * An id to assign to the underlying color palette. Defaults to null. */ paletteId : null,
/** * @cfg {Number} maxHeight * @hide */
/** * @cfg {Number} scrollIncrement * @hide */
/** * @property palette * @type ColorPalette * The {@link Ext.ColorPalette} instance for this ColorMenu */
/** * @event click * @hide */
/** * @event itemclick * @hide */ initComponent : function(){ Ext.apply(this, { plain: true, showSeparator: false, items: this.palette = new Ext.ColorPalette(Ext.applyIf({ id: this.paletteId }, this.initialConfig)) }); this.palette.purgeListeners(); Ext.menu.ColorMenu.superclass.initComponent.call(this);
/** * @event select * Fires when a color is selected from the {@link #palette Ext.ColorPalette} * @param {Ext.ColorPalette} palette The {@link #palette Ext.ColorPalette} * @param {String} color The 6-digit color hex code (without the # symbol) */ this.relayEvents(this.palette, ['select']); this.on('select', this.menuHide, this); if(this.handler){ this.on('select', this.handler, this.scope || this); } }, menuHide : function(){ if(this.hideOnClick){ this.hide(true); } } }); Ext.reg('colormenu', Ext.menu.ColorMenu);