X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..6a7e4474cba9d8be4b2ec445e10f1691f7277c50:/src/widgets/menu/DateMenu.js diff --git a/src/widgets/menu/DateMenu.js b/src/widgets/menu/DateMenu.js index fdf5a9cf..afa9654d 100644 --- a/src/widgets/menu/DateMenu.js +++ b/src/widgets/menu/DateMenu.js @@ -1,125 +1,125 @@ /*! - * Ext JS Library 3.1.1 - * Copyright(c) 2006-2010 Ext JS, LLC + * Ext JS Library 3.2.0 + * Copyright(c) 2006-2010 Ext JS, Inc. * licensing@extjs.com * http://www.extjs.com/license */ -/** - * @class Ext.menu.DateMenu - * @extends Ext.menu.Menu - *

A menu containing an {@link Ext.DatePicker} Component.

- *

Notes:

- * @xtype datemenu - */ - Ext.menu.DateMenu = 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 DateMenu instance. - */ - /** - * @cfg {Boolean} hideOnClick - * False to continue showing the menu after a date is selected, defaults to true. - */ - hideOnClick : true, - - /** - * @cfg {String} pickerId - * An id to assign to the underlying date picker. Defaults to null. - */ - pickerId : null, - - /** - * @cfg {Number} maxHeight - * @hide - */ - /** - * @cfg {Number} scrollIncrement - * @hide - */ - /** - * The {@link Ext.DatePicker} instance for this DateMenu - * @property picker - * @type DatePicker - */ - cls : 'x-date-menu', - - /** - * @event click - * @hide - */ - - /** - * @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); - /** - * @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); +/** + * @class Ext.menu.DateMenu + * @extends Ext.menu.Menu + *

A menu containing an {@link Ext.DatePicker} Component.

+ *

Notes:

+ * @xtype datemenu + */ + Ext.menu.DateMenu = 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 DateMenu instance. + */ + /** + * @cfg {Boolean} hideOnClick + * False to continue showing the menu after a date is selected, defaults to true. + */ + hideOnClick : true, + + /** + * @cfg {String} pickerId + * An id to assign to the underlying date picker. Defaults to null. + */ + pickerId : null, + + /** + * @cfg {Number} maxHeight + * @hide + */ + /** + * @cfg {Number} scrollIncrement + * @hide + */ + /** + * The {@link Ext.DatePicker} instance for this DateMenu + * @property picker + * @type DatePicker + */ + cls : 'x-date-menu', + + /** + * @event click + * @hide + */ + + /** + * @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); + /** + * @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); \ No newline at end of file