]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/form/_Spinner.js
2 Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
8 if(!dojo
._hasResource
["dijit.form._Spinner"]){
9 dojo
._hasResource
["dijit.form._Spinner"]=true;
10 dojo
.provide("dijit.form._Spinner");
11 dojo
.require("dijit.form.ValidationTextBox");
12 dojo
.declare("dijit.form._Spinner",dijit
.form
.RangeBoundTextBox
,{defaultTimeout
:500,minimumTimeout
:10,timeoutChangeRate
:0.9,smallDelta
:1,largeDelta
:10,templateString
:dojo
.cache("dijit.form","templates/Spinner.html","<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\" waiRole=\"presentation\"\n\t><div class=\"dijitReset dijitButtonNode dijitSpinnerButtonContainer\"\n\t\t><input class=\"dijitReset dijitInputField dijitSpinnerButtonInner\" type=\"text\" tabIndex=\"-1\" readOnly waiRole=\"presentation\"\n\t\t/><div class=\"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitUpArrowButton\"\n\t\t\tdojoAttachPoint=\"upArrowNode\"\n\t\t\t><div class=\"dijitArrowButtonInner\"\n\t\t\t\t><input class=\"dijitReset dijitInputField\" value=\"▲\" type=\"text\" tabIndex=\"-1\" readOnly waiRole=\"presentation\"\n\t\t\t\t\t${_buttonInputDisabled}\n\t\t\t/></div\n\t\t></div\n\t\t><div class=\"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitDownArrowButton\"\n\t\t\tdojoAttachPoint=\"downArrowNode\"\n\t\t\t><div class=\"dijitArrowButtonInner\"\n\t\t\t\t><input class=\"dijitReset dijitInputField\" value=\"▼\" type=\"text\" tabIndex=\"-1\" readOnly waiRole=\"presentation\"\n\t\t\t\t\t${_buttonInputDisabled}\n\t\t\t/></div\n\t\t></div\n\t></div\n\t><div class='dijitReset dijitValidationContainer'\n\t\t><input class=\"dijitReset dijitInputField dijitValidationIcon dijitValidationInner\" value=\"Χ \" type=\"text\" tabIndex=\"-1\" readOnly waiRole=\"presentation\"\n\t/></div\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class='dijitReset dijitInputInner' dojoAttachPoint=\"textbox,focusNode\" type=\"${type}\" dojoAttachEvent=\"onkeypress:_onKeyPress\"\n\t\t\twaiRole=\"spinbutton\" autocomplete=\"off\" ${!nameAttrSetting}\n\t/></div\n></div>\n"),baseClass
:"dijitTextBox dijitSpinner",cssStateNodes
:{"upArrowNode":"dijitUpArrowButton","downArrowNode":"dijitDownArrowButton"},adjust:function(_1
,_2
){
14 },_arrowPressed:function(_3
,_4
,_5
){
15 if(this.disabled
||this.readOnly
){
18 this._setValueAttr(this.adjust(this.get("value"),_4
*_5
),false);
19 dijit
.selectInputText(this.textbox
,this.textbox
.value
.length
);
20 },_arrowReleased:function(_6
){
21 this._wheelTimer
=null;
22 if(this.disabled
||this.readOnly
){
25 },_typematicCallback:function(_7
,_8
,_9
){
26 var _a
=this.smallDelta
;
30 _a
=(_b
==k
.PAGE_UP
||_b
==k
.PAGE_DOWN
)?this.largeDelta
:this.smallDelta
;
31 _8
=(_b
==k
.UP_ARROW
||_b
==k
.PAGE_UP
)?this.upArrowNode
:this.downArrowNode
;
34 this._arrowReleased(_8
);
36 this._arrowPressed(_8
,(_8
==this.upArrowNode
)?1:-1,_a
);
38 },_wheelTimer
:null,_mouseWheeled:function(_c
){
40 var _d
=_c
.detail
?(_c
.detail
*-1):(_c
.wheelDelta
/120);
42 var _e
=this[(_d
>0?"upArrowNode":"downArrowNode")];
43 this._arrowPressed(_e
,_d
,this.smallDelta
);
44 if(!this._wheelTimer
){
45 clearTimeout(this._wheelTimer
);
47 this._wheelTimer
=setTimeout(dojo
.hitch(this,"_arrowReleased",_e
),50);
49 },postCreate:function(){
50 this.inherited(arguments
);
51 this.connect(this.domNode
,!dojo
.isMozilla
?"onmousewheel":"DOMMouseScroll","_mouseWheeled");
52 this._connects
.push(dijit
.typematic
.addListener(this.upArrowNode
,this.textbox
,{charOrCode
:dojo
.keys
.UP_ARROW
,ctrlKey
:false,altKey
:false,shiftKey
:false,metaKey
:false},this,"_typematicCallback",this.timeoutChangeRate
,this.defaultTimeout
,this.minimumTimeout
));
53 this._connects
.push(dijit
.typematic
.addListener(this.downArrowNode
,this.textbox
,{charOrCode
:dojo
.keys
.DOWN_ARROW
,ctrlKey
:false,altKey
:false,shiftKey
:false,metaKey
:false},this,"_typematicCallback",this.timeoutChangeRate
,this.defaultTimeout
,this.minimumTimeout
));
54 this._connects
.push(dijit
.typematic
.addListener(this.upArrowNode
,this.textbox
,{charOrCode
:dojo
.keys
.PAGE_UP
,ctrlKey
:false,altKey
:false,shiftKey
:false,metaKey
:false},this,"_typematicCallback",this.timeoutChangeRate
,this.defaultTimeout
,this.minimumTimeout
));
55 this._connects
.push(dijit
.typematic
.addListener(this.downArrowNode
,this.textbox
,{charOrCode
:dojo
.keys
.PAGE_DOWN
,ctrlKey
:false,altKey
:false,shiftKey
:false,metaKey
:false},this,"_typematicCallback",this.timeoutChangeRate
,this.defaultTimeout
,this.minimumTimeout
));