Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / src / widgets / menu / ColorMenu.js
index 6e20cd1..15aa402 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * Ext JS Library 3.0.0
+ * Ext JS Library 3.1.0
  * Copyright(c) 2006-2009 Ext JS, LLC
  * licensing@extjs.com
  * http://www.extjs.com/license
@@ -7,7 +7,15 @@
 /**\r
  * @class Ext.menu.ColorMenu\r
  * @extends Ext.menu.Menu\r
- * A menu containing a {@link Ext.ColorPalette} Component.\r
+ * <p>A menu containing a {@link Ext.ColorPalette} Component.</p>\r
+ * <p>Notes:</p><div class="mdetail-params"><ul>\r
+ * <li>Although not listed here, the <b>constructor</b> for this class\r
+ * accepts all of the configuration options of <b>{@link Ext.ColorPalette}</b>.</li>\r
+ * <li>If subclassing ColorMenu, any configuration options for the ColorPalette must be\r
+ * applied to the <tt><b>initialConfig</b></tt> property of the ColorMenu.\r
+ * Applying {@link Ext.ColorPalette ColorPalette} configuration settings to\r
+ * <b><tt>this</tt></b> will <b>not</b> affect the ColorPalette's configuration.</li>\r
+ * </ul></div> * \r
  * @xtype colormenu\r
  */\r
  Ext.menu.ColorMenu = Ext.extend(Ext.menu.Menu, {\r
      * @cfg {Boolean} enableScrolling\r
      * @hide \r
      */\r
-    enableScrolling: false,\r
+    enableScrolling : false,\r
+    /**\r
+     * @cfg {Function} handler\r
+     * Optional. A function that will handle the select event of this menu.\r
+     * The handler is passed the following parameters:<div class="mdetail-params"><ul>\r
+     * <li><code>palette</code> : ColorPalette<div class="sub-desc">The {@link #palette Ext.ColorPalette}.</div></li>\r
+     * <li><code>color</code> : String<div class="sub-desc">The 6-digit color hex code (without the # symbol).</div></li>\r
+     * </ul></div>\r
+     */\r
+    /**\r
+     * @cfg {Object} scope\r
+     * The scope (<tt><b>this</b></tt> reference) in which the <code>{@link #handler}</code>\r
+     * function will be called.  Defaults to this ColorMenu instance.\r
+     */    \r
     \r
     /** \r
      * @cfg {Boolean} hideOnClick\r
      * False to continue showing the menu after a color is selected, defaults to true.\r
      */\r
-    hideOnClick: true,\r
+    hideOnClick : true,\r
+    \r
+    cls : 'x-color-menu',\r
+    \r
+    /** \r
+     * @cfg {String} paletteId\r
+     * An id to assign to the underlying color palette. Defaults to <tt>null</tt>.\r
+     */\r
+    paletteId : null,\r
     \r
     /** \r
      * @cfg {Number} maxHeight\r
      * @hide\r
      */\r
     \r
-    initComponent: function(){\r
+    initComponent : function(){\r
         Ext.apply(this, {\r
             plain: true,\r
             showSeparator: false,\r
-            items: this.palette = new Ext.ColorPalette(this.initialConfig)\r
+            items: this.palette = new Ext.ColorPalette(Ext.applyIf({\r
+                id: this.paletteId\r
+            }, this.initialConfig))\r
         });\r
         this.palette.purgeListeners();\r
         Ext.menu.ColorMenu.superclass.initComponent.call(this);\r
+        /**\r
+         * @event select\r
+         * Fires when a color is selected from the {@link #palette Ext.ColorPalette}\r
+         * @param {Ext.ColorPalette} palette The {@link #palette Ext.ColorPalette}\r
+            * @param {String} color The 6-digit color hex code (without the # symbol)\r
+         */\r
         this.relayEvents(this.palette, ['select']);\r
         this.on('select', this.menuHide, this);\r
         if(this.handler){\r
-            this.on('select', this.handler, this.scope || this)\r
+            this.on('select', this.handler, this.scope || this);\r
         }\r
     },\r
 \r
-    menuHide: function(){\r
+    menuHide : function(){\r
         if(this.hideOnClick){\r
             this.hide(true);\r
         }\r
     }\r
 });\r
-Ext.reg('colormenu', Ext.menu.ColorMenu);
\ No newline at end of file
+Ext.reg('colormenu', Ext.menu.ColorMenu);\r