commit extjs-2.2.1
[extjs.git] / source / widgets / menu / DateMenu.js
1 /*\r
2  * Ext JS Library 2.2.1\r
3  * Copyright(c) 2006-2009, Ext JS, LLC.\r
4  * licensing@extjs.com\r
5  * \r
6  * http://extjs.com/license\r
7  */\r
8 \r
9 /**\r
10  * @class Ext.menu.DateMenu\r
11  * @extends Ext.menu.Menu\r
12  * A menu containing a {@link Ext.menu.DateItem} component (which provides a date picker).\r
13  * @constructor\r
14  * Creates a new DateMenu\r
15  * @param {Object} config Configuration options\r
16  */\r
17 Ext.menu.DateMenu = function(config){\r
18     Ext.menu.DateMenu.superclass.constructor.call(this, config);\r
19     this.plain = true;\r
20     var di = new Ext.menu.DateItem(config);\r
21     this.add(di);\r
22     /**\r
23      * The {@link Ext.DatePicker} instance for this DateMenu\r
24      * @type DatePicker\r
25      */\r
26     this.picker = di.picker;\r
27     /**\r
28      * @event select\r
29      * @param {DatePicker} picker\r
30      * @param {Date} date\r
31      */\r
32     this.relayEvents(di, ["select"]);\r
33 \r
34     this.on('beforeshow', function(){\r
35         if(this.picker){\r
36             this.picker.hideMonthPicker(true);\r
37         }\r
38     }, this);\r
39 };\r
40 Ext.extend(Ext.menu.DateMenu, Ext.menu.Menu, {\r
41     cls:'x-date-menu',\r
42 \r
43     // private\r
44     beforeDestroy : function() {\r
45         this.picker.destroy();\r
46     }\r
47 });