X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/docs/source/DateMenu.html diff --git a/docs/source/DateMenu.html b/docs/source/DateMenu.html new file mode 100644 index 00000000..6674760e --- /dev/null +++ b/docs/source/DateMenu.html @@ -0,0 +1,120 @@ + +
+/** + * @class Ext.menu.DateMenu + * @extends Ext.menu.Menu + *+ + \ No newline at end of fileA 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:+ *
- Although not listed here, the constructor for this class + * accepts all of the configuration options of {@link Ext.DatePicker}.
+ *- If subclassing DateMenu, any configuration options for the DatePicker must be + * applied to the initialConfig property of the DateMenu. + * Applying {@link Ext.DatePicker DatePicker} configuration settings to + * this will not affect the DatePicker's configuration.
+ *+ */ + /** + * @cfg {Object} scope + * The scope (this reference) in which the+ *
- + *
picker
: DatePickerThe Ext.DatePicker.- + *
date
: DateThe selected date.{@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 {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.apply({ + internalRender: this.strict || !Ext.isIE, + ctCls: 'x-menu-date-item' + }, 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('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); +