/** * @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:*
- Although not listed here, the constructor for this class * accepts all of the configuration options of {@link Ext.ColorPalette}.
*- If subclassing ColorMenu, any configuration options for the ColorPalette must be * applied to the initialConfig property of the ColorMenu. * Applying {@link Ext.ColorPalette ColorPalette} configuration settings to * this will not affect the ColorPalette's configuration.
**/ /** * @cfg {Object} scope * The scope (this reference) in which the*
- *
palette
: ColorPaletteThe {@link #palette Ext.ColorPalette}.- *
color
: StringThe 6-digit color hex code (without the # symbol).{@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, /** * @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(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);