X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/src/picker/Time.js diff --git a/src/picker/Time.js b/src/picker/Time.js index 6edab480..05cc629d 100644 --- a/src/picker/Time.js +++ b/src/picker/Time.js @@ -13,28 +13,23 @@ If you are unsure which license is appropriate for your use, please contact the */ /** - * @class Ext.picker.Time - * @extends Ext.view.BoundList - *

A time picker which provides a list of times from which to choose. This is used by the - * {@link Ext.form.field.Time} class to allow browsing and selection of valid times, but could also be used - * with other components.

- *

By default, all times starting at midnight and incrementing every 15 minutes will be presented. - * This list of available times can be controlled using the {@link #minValue}, {@link #maxValue}, and - * {@link #increment} configuration properties. The format of the times presented in the list can be - * customized with the {@link #format} config.

- *

To handle when the user selects a time from the list, you can subscribe to the {@link #selectionchange} - * event.

+ * A time picker which provides a list of times from which to choose. This is used by the Ext.form.field.Time + * class to allow browsing and selection of valid times, but could also be used with other components. * - * {@img Ext.picker.Time/Ext.picker.Time.png Ext.picker.Time component} + * By default, all times starting at midnight and incrementing every 15 minutes will be presented. This list of + * available times can be controlled using the {@link #minValue}, {@link #maxValue}, and {@link #increment} + * configuration properties. The format of the times presented in the list can be customized with the {@link #format} + * config. * - * ## Code - new Ext.create('Ext.picker.Time', { - width: 60, - minValue: Ext.Date.parse('04:30:00 AM', 'h:i:s A'), - maxValue: Ext.Date.parse('08:00:00 AM', 'h:i:s A'), - renderTo: Ext.getBody() - }); + * To handle when the user selects a time from the list, you can subscribe to the {@link #selectionchange} event. * + * @example + * Ext.create('Ext.picker.Time', { + * width: 60, + * minValue: Ext.Date.parse('04:30:00 AM', 'h:i:s A'), + * maxValue: Ext.Date.parse('08:00:00 AM', 'h:i:s A'), + * renderTo: Ext.getBody() + * }); */ Ext.define('Ext.picker.Time', { extend: 'Ext.view.BoundList', @@ -43,27 +38,27 @@ Ext.define('Ext.picker.Time', { /** * @cfg {Date} minValue - * The minimum time to be shown in the list of times. This must be a Date object (only the time fields - * will be used); no parsing of String values will be done. Defaults to undefined. + * The minimum time to be shown in the list of times. This must be a Date object (only the time fields will be + * used); no parsing of String values will be done. */ /** * @cfg {Date} maxValue - * The maximum time to be shown in the list of times. This must be a Date object (only the time fields - * will be used); no parsing of String values will be done. Defaults to undefined. + * The maximum time to be shown in the list of times. This must be a Date object (only the time fields will be + * used); no parsing of String values will be done. */ /** * @cfg {Number} increment - * The number of minutes between each time value in the list (defaults to 15). + * The number of minutes between each time value in the list. */ increment: 15, /** * @cfg {String} format - * The default time format string which can be overriden for localization support. The format must be - * valid according to {@link Ext.Date#parse} (defaults to 'g:i A', e.g., '3:15 PM'). For 24-hour time - * format try 'H:i' instead. + * The default time format string which can be overriden for localization support. The format must be valid + * according to {@link Ext.Date#parse} (defaults to 'g:i A', e.g., '3:15 PM'). For 24-hour time format try 'H:i' + * instead. */ format : "g:i A", @@ -78,7 +73,7 @@ Ext.define('Ext.picker.Time', { * @private * Year, month, and day that all times will be normalized into internally. */ - initDate: [2008,1,1], + initDate: [2008,0,1], componentCls: Ext.baseCSSPrefix + 'timepicker', @@ -91,21 +86,21 @@ Ext.define('Ext.picker.Time', { var me = this, dateUtil = Ext.Date, clearTime = dateUtil.clearTime, - initDate = me.initDate.join('/'); + initDate = me.initDate; // Set up absolute min and max for the entire day - me.absMin = clearTime(new Date(initDate)); - me.absMax = dateUtil.add(clearTime(new Date(initDate)), 'mi', (24 * 60) - 1); + me.absMin = clearTime(new Date(initDate[0], initDate[1], initDate[2])); + me.absMax = dateUtil.add(clearTime(new Date(initDate[0], initDate[1], initDate[2])), 'mi', (24 * 60) - 1); me.store = me.createStore(); me.updateList(); - this.callParent(); + me.callParent(); }, /** - * Set the {@link #minValue} and update the list of available times. This must be a Date - * object (only the time fields will be used); no parsing of String values will be done. + * Set the {@link #minValue} and update the list of available times. This must be a Date object (only the time + * fields will be used); no parsing of String values will be done. * @param {Date} value */ setMinValue: function(value) { @@ -114,8 +109,8 @@ Ext.define('Ext.picker.Time', { }, /** - * Set the {@link #maxValue} and update the list of available times. This must be a Date - * object (only the time fields will be used); no parsing of String values will be done. + * Set the {@link #maxValue} and update the list of available times. This must be a Date object (only the time + * fields will be used); no parsing of String values will be done. * @param {Date} value */ setMaxValue: function(value) { @@ -131,13 +126,13 @@ Ext.define('Ext.picker.Time', { */ normalizeDate: function(date) { var initDate = this.initDate; - date.setFullYear(initDate[0], initDate[1] - 1, initDate[2]); + date.setFullYear(initDate[0], initDate[1], initDate[2]); return date; }, /** - * Update the list of available times in the list to be constrained within the - * {@link #minValue} and {@link #maxValue}. + * Update the list of available times in the list to be constrained within the {@link #minValue} + * and {@link #maxValue}. */ updateList: function() { var me = this,