+++ /dev/null
-/*!
- * Ext JS Library 3.3.0
- * Copyright(c) 2006-2010 Ext JS, Inc.
- * licensing@extjs.com
- * http://www.extjs.com/license
- */
-/**
- * @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, {
- /**
- * @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:<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>
- */
- /**
- * @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.
- */
- /**
- * @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 <tt>null</tt>.
- */
- 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