X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/src/widgets/menu/ColorMenu.js diff --git a/src/widgets/menu/ColorMenu.js b/src/widgets/menu/ColorMenu.js new file mode 100644 index 00000000..6e20cd1c --- /dev/null +++ b/src/widgets/menu/ColorMenu.js @@ -0,0 +1,72 @@ +/*! + * Ext JS Library 3.0.0 + * 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. + * @xtype colormenu + */ + Ext.menu.ColorMenu = Ext.extend(Ext.menu.Menu, { + /** + * @cfg {Boolean} enableScrolling + * @hide + */ + enableScrolling: false, + + /** + * @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); + 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); \ No newline at end of file