Upgrade to ExtJS 3.2.1 - Released 04/27/2010
[extjs.git] / docs / source / DateMenu.html
index 6674760..0196a50 100644 (file)
-<html>\r
-<head>\r
-  <title>The source code</title>\r
-    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
-    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
-</head>\r
-<body  onload="prettyPrint();">\r
-    <pre class="prettyprint lang-js"><div id="cls-Ext.menu.DateMenu"></div>/**\r
- * @class Ext.menu.DateMenu\r
- * @extends Ext.menu.Menu\r
- * <p>A menu containing an {@link Ext.DatePicker} 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.DatePicker}</b>.</li>\r
- * <li>If subclassing DateMenu, any configuration options for the DatePicker must be\r
- * applied to the <tt><b>initialConfig</b></tt> property of the DateMenu.\r
- * Applying {@link Ext.DatePicker DatePicker} configuration settings to\r
- * <b><tt>this</tt></b> will <b>not</b> affect the DatePicker's configuration.</li>\r
- * </ul></div>\r
- * @xtype datemenu\r
- */\r
- Ext.menu.DateMenu = Ext.extend(Ext.menu.Menu, {\r
-    <div id="cfg-Ext.menu.DateMenu-enableScrolling"></div>/** \r
-     * @cfg {Boolean} enableScrolling\r
-     * @hide \r
-     */\r
-    enableScrolling : false,\r
-    <div id="cfg-Ext.menu.DateMenu-handler"></div>/**\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>picker</code> : DatePicker<div class="sub-desc">The Ext.DatePicker.</div></li>\r
-     * <li><code>date</code> : Date<div class="sub-desc">The selected date.</div></li>\r
-     * </ul></div>\r
-     */\r
-    <div id="cfg-Ext.menu.DateMenu-scope"></div>/**\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 DateMenu instance.\r
-     */    \r
-    <div id="cfg-Ext.menu.DateMenu-hideOnClick"></div>/** \r
-     * @cfg {Boolean} hideOnClick\r
-     * False to continue showing the menu after a date is selected, defaults to true.\r
-     */\r
-    hideOnClick : true,\r
-    \r
-    <div id="cfg-Ext.menu.DateMenu-maxHeight"></div>/** \r
-     * @cfg {Number} maxHeight\r
-     * @hide \r
-     */\r
-    <div id="cfg-Ext.menu.DateMenu-scrollIncrement"></div>/** \r
-     * @cfg {Number} scrollIncrement\r
-     * @hide \r
-     */\r
-    <div id="prop-Ext.menu.DateMenu-picker"></div>/**\r
-     * The {@link Ext.DatePicker} instance for this DateMenu\r
-     * @property picker\r
-     * @type DatePicker\r
-     */\r
-    cls : 'x-date-menu',\r
-    \r
-    <div id="event-Ext.menu.DateMenu-click"></div>/**\r
-     * @event click\r
-     * @hide\r
-     */\r
-    \r
-    <div id="event-Ext.menu.DateMenu-itemclick"></div>/**\r
-     * @event itemclick\r
-     * @hide\r
-     */\r
-\r
-    initComponent : function(){\r
-        this.on('beforeshow', this.onBeforeShow, this);\r
-        if(this.strict = (Ext.isIE7 && Ext.isStrict)){\r
-            this.on('show', this.onShow, this, {single: true, delay: 20});\r
-        }\r
-        Ext.apply(this, {\r
-            plain: true,\r
-            showSeparator: false,\r
-            items: this.picker = new Ext.DatePicker(Ext.apply({\r
-                internalRender: this.strict || !Ext.isIE,\r
-                ctCls: 'x-menu-date-item'\r
-            }, this.initialConfig))\r
-        });\r
-        this.picker.purgeListeners();\r
-        Ext.menu.DateMenu.superclass.initComponent.call(this);\r
-        <div id="event-Ext.menu.DateMenu-select"></div>/**\r
-         * @event select\r
-         * Fires when a date is selected from the {@link #picker Ext.DatePicker}\r
-         * @param {DatePicker} picker The {@link #picker Ext.DatePicker}\r
-         * @param {Date} date The selected date\r
-         */\r
-        this.relayEvents(this.picker, ['select']);\r
-        this.on('select', this.menuHide, this);\r
-        if(this.handler){\r
-            this.on('select', this.handler, this.scope || this);\r
-        }\r
-    },\r
-\r
-    menuHide : function() {\r
-        if(this.hideOnClick){\r
-            this.hide(true);\r
-        }\r
-    },\r
-\r
-    onBeforeShow : function(){\r
-        if(this.picker){\r
-            this.picker.hideMonthPicker(true);\r
-        }\r
-    },\r
-\r
-    onShow : function(){\r
-        var el = this.picker.getEl();\r
-        el.setWidth(el.getWidth()); //nasty hack for IE7 strict mode\r
-    }\r
- });\r
- Ext.reg('datemenu', Ext.menu.DateMenu);\r
- </pre>    \r
-</body>\r
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
+  <title>The source code</title>
+    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
+</head>
+<body  onload="prettyPrint();">
+    <pre class="prettyprint lang-js">/*!
+ * Ext JS Library 3.2.1
+ * Copyright(c) 2006-2010 Ext JS, Inc.
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+<div id="cls-Ext.menu.DateMenu"></div>/**
+ * @class Ext.menu.DateMenu
+ * @extends Ext.menu.Menu
+ * <p>A menu containing an {@link Ext.DatePicker} Component.</p>
+ * <p>Notes:</p><div class="mdetail-params"><ul>
+ * <li>Although not listed here, the <b>constructor</b> for this class
+ * accepts all of the configuration options of <b>{@link Ext.DatePicker}</b>.</li>
+ * <li>If subclassing DateMenu, any configuration options for the DatePicker must be
+ * applied to the <tt><b>initialConfig</b></tt> property of the DateMenu.
+ * Applying {@link Ext.DatePicker DatePicker} configuration settings to
+ * <b><tt>this</tt></b> will <b>not</b> affect the DatePicker's configuration.</li>
+ * </ul></div>
+ * @xtype datemenu
+ */
+ Ext.menu.DateMenu = Ext.extend(Ext.menu.Menu, {
+    <div id="cfg-Ext.menu.DateMenu-enableScrolling"></div>/** 
+     * @cfg {Boolean} enableScrolling
+     * @hide 
+     */
+    enableScrolling : false,
+    <div id="cfg-Ext.menu.DateMenu-handler"></div>/**
+     * @cfg {Function} handler
+     * Optional. A function that will handle the select event of this menu.
+     * The handler is passed the following parameters:<div class="mdetail-params"><ul>
+     * <li><code>picker</code> : DatePicker<div class="sub-desc">The Ext.DatePicker.</div></li>
+     * <li><code>date</code> : Date<div class="sub-desc">The selected date.</div></li>
+     * </ul></div>
+     */
+    <div id="cfg-Ext.menu.DateMenu-scope"></div>/**
+     * @cfg {Object} scope
+     * The scope (<tt><b>this</b></tt> reference) in which the <code>{@link #handler}</code>
+     * function will be called.  Defaults to this DateMenu instance.
+     */    
+    <div id="cfg-Ext.menu.DateMenu-hideOnClick"></div>/** 
+     * @cfg {Boolean} hideOnClick
+     * False to continue showing the menu after a date is selected, defaults to true.
+     */
+    hideOnClick : true,
+    
+    <div id="cfg-Ext.menu.DateMenu-pickerId"></div>/** 
+     * @cfg {String} pickerId
+     * An id to assign to the underlying date picker. Defaults to <tt>null</tt>.
+     */
+    pickerId : null,
+    
+    <div id="cfg-Ext.menu.DateMenu-maxHeight"></div>/** 
+     * @cfg {Number} maxHeight
+     * @hide 
+     */
+    <div id="cfg-Ext.menu.DateMenu-scrollIncrement"></div>/** 
+     * @cfg {Number} scrollIncrement
+     * @hide 
+     */
+    <div id="prop-Ext.menu.DateMenu-picker"></div>/**
+     * The {@link Ext.DatePicker} instance for this DateMenu
+     * @property picker
+     * @type DatePicker
+     */
+    cls : 'x-date-menu',
+    
+    <div id="event-Ext.menu.DateMenu-click"></div>/**
+     * @event click
+     * @hide
+     */
+    
+    <div id="event-Ext.menu.DateMenu-itemclick"></div>/**
+     * @event itemclick
+     * @hide
+     */
+
+    initComponent : function(){
+        this.on('beforeshow', this.onBeforeShow, this);
+        if(this.strict = (Ext.isIE7 && Ext.isStrict)){
+            this.on('show', this.onShow, this, {single: true, delay: 20});
+        }
+        Ext.apply(this, {
+            plain: true,
+            showSeparator: false,
+            items: this.picker = new Ext.DatePicker(Ext.applyIf({
+                internalRender: this.strict || !Ext.isIE,
+                ctCls: 'x-menu-date-item',
+                id: this.pickerId
+            }, this.initialConfig))
+        });
+        this.picker.purgeListeners();
+        Ext.menu.DateMenu.superclass.initComponent.call(this);
+        <div id="event-Ext.menu.DateMenu-select"></div>/**
+         * @event select
+         * Fires when a date is selected from the {@link #picker Ext.DatePicker}
+         * @param {DatePicker} picker The {@link #picker Ext.DatePicker}
+         * @param {Date} date The selected date
+         */
+        this.relayEvents(this.picker, ['select']);
+        this.on('show', this.picker.focus, this.picker);
+        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);
+        }
+    },
+
+    onBeforeShow : function(){
+        if(this.picker){
+            this.picker.hideMonthPicker(true);
+        }
+    },
+
+    onShow : function(){
+        var el = this.picker.getEl();
+        el.setWidth(el.getWidth()); //nasty hack for IE7 strict mode
+    }
+ });
+ Ext.reg('datemenu', Ext.menu.DateMenu);
+ </pre>    
+</body>
 </html>
\ No newline at end of file