12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*
- Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
- Available via Academic Free License >= 2.1 OR the modified BSD license.
- see: http://dojotoolkit.org/license for details
- */
- if(!dojo._hasResource["dojox.form.TimeSpinner"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
- dojo._hasResource["dojox.form.TimeSpinner"] = true;
- dojo.provide("dojox.form.TimeSpinner");
- dojo.require("dijit.form._Spinner");
- dojo.require("dojo.date");
- dojo.require("dojo.date.locale");
- dojo.require("dojo.date.stamp");
- dojo.declare(
- "dojox.form.TimeSpinner",
- [dijit.form._Spinner],
- {
- // summary: Time Spinner
- // description: This widget is the same as a normal NumberSpinner, but for the time component of a date object instead
- required: false,
- adjust: function(/* Object */ val, /*Number*/ delta){
- return dojo.date.add(val, "minute", delta)
- },
- //FIXME should we allow for constraints in this widget?
- isValid: function(){return true;},
- smallDelta: 5,
- largeDelta: 30,
- timeoutChangeRate: 0.50,
- parse: function(time, locale){
- return dojo.date.locale.parse(time, {selector:"time", formatLength:"short"});
- },
- format: function(time, locale){
- if (dojo.isString(time)) { return time; }
- return dojo.date.locale.format(time, {selector:"time", formatLength:"short"});
- },
- serialize: dojo.date.stamp.toISOString,
- value: "12:00 AM",
- _onKeyPress: function(e){
- if((e.charOrCode == dojo.keys.HOME || e.charOrCode == dojo.keys.END) && !(e.ctrlKey || e.altKey || e.metaKey)
- && typeof this.get('value') != 'undefined' /* gibberish, so HOME and END are default editing keys*/){
- var value = this.constraints[(e.charOrCode == dojo.keys.HOME ? "min" : "max")];
- if(value){
- this._setValueAttr(value,true);
- }
- // eat home or end key whether we change the value or not
- dojo.stopEvent(e);
- }
- }
- });
- }
|