/*! * Ext JS Library 3.4.0 * Copyright(c) 2006-2011 Sencha Inc. * licensing@sencha.com * http://www.sencha.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);