rsence 2.0.9.23 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/INSTALL.rdoc +61 -49
- data/README.rdoc +20 -4
- data/VERSION +1 -1
- data/conf/default_conf.yaml +8 -0
- data/conf/rsence_command_strings.yaml +31 -20
- data/docs/ExampleGuiPlugin.rdoc +2 -2
- data/js/comm/comm.js +27 -5
- data/js/comm/transporter/transporter.js +1 -1
- data/js/comm/values/values.js +12 -5
- data/js/controls/button/button.js +12 -2
- data/js/controls/dialogs/alert_sheet/alert_sheet.js +13 -1
- data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +13 -2
- data/js/controls/dialogs/sheet/sheet.js +35 -28
- data/js/controls/imageview/imageview.js +13 -13
- data/js/controls/progress/progressindicator/progressindicator.js +5 -5
- data/js/controls/sliders/slider/slider.js +4 -31
- data/js/controls/stepper/stepper.js +12 -19
- data/js/controls/textcontrol/textcontrol.js +0 -50
- data/js/controls/textcontrol/themes/default/textcontrol.html +1 -1
- data/js/controls/window/window.js +1 -1
- data/js/core/elem/elem.js +146 -160
- data/js/core/rsence_ns/rsence_ns.js +7 -0
- data/js/foundation/control/eventresponder/eventresponder.js +8 -7
- data/js/foundation/eventmanager/eventmanager.js +81 -48
- data/js/foundation/geom/rect/rect.js +1 -1
- data/js/foundation/json_renderer/json_renderer.js +4 -1
- data/js/foundation/system/system.js +37 -34
- data/js/foundation/view/morphanimation/morphanimation.js +53 -43
- data/js/foundation/view/view.js +119 -118
- data/js/lists/listitems/listitems.js +10 -10
- data/js/lists/propertylist/js.inc +0 -0
- data/js/lists/propertylist/propertylist.js +574 -0
- data/js/lists/propertylist/propertylisteditor/js.inc +0 -0
- data/js/lists/propertylist/propertylisteditor/propertylisteditor.js +233 -0
- data/js/lists/radiobuttonlist/radiobuttonlist.js +15 -8
- data/js/menus/minimenu/js.inc +0 -0
- data/js/menus/minimenu/minimenu.js +139 -0
- data/js/menus/minimenu/minimenuitem/js.inc +0 -0
- data/js/menus/minimenu/minimenuitem/minimenuitem.js +33 -0
- data/js/menus/minimenu/minimenuitem/themes/default/minimenuitem.css +45 -0
- data/js/menus/minimenu/minimenuitem/themes/default/minimenuitem.html +4 -0
- data/js/menus/minimenu/minimenuitem/themes/default/minimenuitem_checkmark.png +0 -0
- data/js/menus/minimenu/themes/default/minimenu.css +63 -0
- data/js/menus/minimenu/themes/default/minimenu.html +7 -0
- data/js/menus/minimenu/themes/default/minimenu.png +0 -0
- data/js/util/reloadapp/reloadapp.js +1 -1
- data/lib/conf/argv.rb +40 -11
- data/lib/daemon/daemon.rb +63 -22
- data/lib/plugins/gui_plugin.rb +28 -31
- data/lib/plugins/guiparser.rb +37 -7
- data/lib/plugins/plugin.rb +260 -28
- data/lib/plugins/plugin_base.rb +14 -0
- data/lib/plugins/plugin_plugins.rb +11 -1
- data/lib/plugins/pluginmanager.rb +127 -44
- data/lib/plugins/plugins.rb +10 -1
- data/lib/session/msg.rb +25 -1
- data/lib/session/sessionmanager.rb +11 -2
- data/lib/session/sessionstorage.rb +14 -14
- data/lib/transporter/transporter.rb +29 -13
- data/lib/values/hvalue.rb +30 -0
- data/plugins/client_pkg/info.yaml +2 -2
- data/plugins/{index_html → main}/img/loading.gif +0 -0
- data/plugins/{index_html → main}/img/riassence.gif +0 -0
- data/plugins/main/info.yaml +5 -4
- data/plugins/main/main.rb +180 -24
- data/plugins/{index_html → main}/tmpl/index.html +4 -2
- data/plugins/ticket/info.yaml +2 -2
- data/plugins/ticket/lib/upload.rb +57 -5
- data/plugins/ticket/ticket.rb +10 -4
- data/setup/welcome/info.yaml +2 -2
- data/setup/welcome/text/welcome.html +1 -1
- metadata +22 -11
- data/plugins/index_html/index_html.rb +0 -120
- data/plugins/index_html/info.yaml +0 -18
data/docs/ExampleGuiPlugin.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Example: The "welcome" GUIPlugin bundle
|
2
2
|
|
3
|
-
This bundle is installed by default for each new RSence project environment, when created by the +rsence
|
3
|
+
This bundle is installed by default for each new RSence project environment, when created by the +rsence init+ command. It displays a simple user interface that contains a congratulatory message of a successful setup. Feel free to experiment with the plugin in your project environment.
|
4
4
|
|
5
5
|
=== File / directory structure
|
6
6
|
This is just an example, the meaning of gui/
|
@@ -28,7 +28,7 @@ A brief description of the package
|
|
28
28
|
!!!yaml
|
29
29
|
description: |
|
30
30
|
This is a simple welcome message plugin. It's installed in new project
|
31
|
-
environments, when the rsence
|
31
|
+
environments, when the rsence init in executed.
|
32
32
|
You may safely remove this plugin bundle.
|
33
33
|
|
34
34
|
System version requirements. In this case "RSence 2.0.0 or newer"
|
data/js/comm/comm.js
CHANGED
@@ -129,16 +129,35 @@ COMM = {
|
|
129
129
|
_username = _options.username?_options.username:null,
|
130
130
|
_password = _options.username?_options.password:null;
|
131
131
|
if(!_options.onFailure){
|
132
|
-
_this.onFailure = function(resp){
|
132
|
+
_this.onFailure = function(resp){
|
133
|
+
console.log(
|
134
|
+
'No failure handler specified, response: ',
|
135
|
+
resp
|
136
|
+
);
|
137
|
+
};
|
133
138
|
}
|
134
139
|
if(!_options.onSuccess){
|
135
|
-
_this.onSuccess = function(resp){
|
140
|
+
_this.onSuccess = function(resp){
|
141
|
+
console.log('No success handler specified, response: ',resp);
|
142
|
+
};
|
136
143
|
}
|
137
144
|
if(!_options.on302){
|
138
145
|
/** Redirection handler **/
|
139
146
|
_this.on503 = function(_this){
|
140
|
-
var
|
141
|
-
|
147
|
+
var
|
148
|
+
_retryAfter = parseInt(
|
149
|
+
_this.X.getResponseHeader('Retry-After'),
|
150
|
+
10
|
151
|
+
)*1000,
|
152
|
+
_timeout = setTimeout(
|
153
|
+
function(){
|
154
|
+
COMM.request(
|
155
|
+
_this.url,
|
156
|
+
_this.options
|
157
|
+
);
|
158
|
+
},
|
159
|
+
_retryAfter
|
160
|
+
);
|
142
161
|
};
|
143
162
|
}
|
144
163
|
_this.url = _url;
|
@@ -148,7 +167,10 @@ COMM = {
|
|
148
167
|
_url += ((_url.indexOf('?')!==-1)?'&':'?')+_comm._arrayToQueryString(_params);
|
149
168
|
}
|
150
169
|
if(!_async){
|
151
|
-
console.log(
|
170
|
+
console.log(
|
171
|
+
"WARNING: Synchronous "+_method+" request to "+_url+
|
172
|
+
", these will fail on the Symbian web browser."
|
173
|
+
);
|
152
174
|
}
|
153
175
|
_this.X.open(
|
154
176
|
_method,
|
@@ -239,7 +239,7 @@ COMM.Transporter = HApplication.extend({
|
|
239
239
|
}
|
240
240
|
// console.log('sync.');
|
241
241
|
this.busy = true;
|
242
|
-
if(window['sesWatcher']){
|
242
|
+
if(window['sesWatcher'] && window.sesWatcher['sesTimeoutValue']){
|
243
243
|
sesWatcher.sesTimeoutValue.set( new Date().getTime() );
|
244
244
|
}
|
245
245
|
var _this = this,
|
data/js/comm/values/values.js
CHANGED
@@ -144,11 +144,15 @@ COMM.Values = HClass.extend({
|
|
144
144
|
* - 'b': Boolean (true/false)
|
145
145
|
* - 'n': Number (integers and floats)
|
146
146
|
* - 's': String
|
147
|
+
* - '~': Null
|
148
|
+
* - '-': Undefined
|
147
149
|
*
|
148
150
|
**/
|
149
151
|
type: function(_obj){
|
150
|
-
if(_obj === null
|
151
|
-
|
152
|
+
if(_obj === null){
|
153
|
+
return '~';
|
154
|
+
}
|
155
|
+
else if (_obj === undefined){
|
152
156
|
return '-';
|
153
157
|
}
|
154
158
|
var _type = (typeof _obj).slice(0,1);
|
@@ -366,9 +370,12 @@ COMM.Values = HClass.extend({
|
|
366
370
|
*
|
367
371
|
**/
|
368
372
|
clone: function( _obj, _shallow ){
|
369
|
-
if(_obj === null
|
370
|
-
|
371
|
-
|
373
|
+
if(_obj === null){
|
374
|
+
return null;
|
375
|
+
}
|
376
|
+
else if (_obj === undefined){
|
377
|
+
console.log('Undefined object, supplementing with null.');
|
378
|
+
return null;
|
372
379
|
}
|
373
380
|
var _item,
|
374
381
|
_cloned;
|
@@ -53,7 +53,12 @@ HClickButton = HButton.extend({
|
|
53
53
|
*
|
54
54
|
**/
|
55
55
|
refreshValue: function(){
|
56
|
-
|
56
|
+
if( this.options.inverseValue ){
|
57
|
+
this.setEnabled( this.value === 1 );
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
this.setEnabled( this.value === 0 );
|
61
|
+
}
|
57
62
|
},
|
58
63
|
/** = Description
|
59
64
|
* Click method, sets the value to disabled if the button is enabled.
|
@@ -61,7 +66,12 @@ HClickButton = HButton.extend({
|
|
61
66
|
**/
|
62
67
|
click: function(){
|
63
68
|
if(this.enabled){
|
64
|
-
this.
|
69
|
+
if( this.options.inverseValue ){
|
70
|
+
this.setValue(0);
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
this.setValue(1);
|
74
|
+
}
|
65
75
|
}
|
66
76
|
}
|
67
77
|
|
@@ -49,7 +49,7 @@ HAlertSheet = HSheet.extend({
|
|
49
49
|
*
|
50
50
|
**/
|
51
51
|
alertButtons: function(){
|
52
|
-
this.okButton =
|
52
|
+
this.okButton = HClickButton.nu(
|
53
53
|
[ null, null, 60, 23, 8, 8 ],
|
54
54
|
this, {
|
55
55
|
label: 'OK',
|
@@ -59,5 +59,17 @@ HAlertSheet = HSheet.extend({
|
|
59
59
|
}
|
60
60
|
}
|
61
61
|
);
|
62
|
+
},
|
63
|
+
|
64
|
+
/** = Description
|
65
|
+
* Binds the same value to okButton.
|
66
|
+
*
|
67
|
+
**/
|
68
|
+
setValueObj: function( valueObj ){
|
69
|
+
this.base( valueObj );
|
70
|
+
if ( this['okButton'] ) {
|
71
|
+
valueObj.bind( this.okButton );
|
72
|
+
}
|
62
73
|
}
|
74
|
+
|
63
75
|
});
|
@@ -18,7 +18,7 @@ HConfirmSheet = HAlertSheet.extend({
|
|
18
18
|
*
|
19
19
|
**/
|
20
20
|
alertButtons: function(){
|
21
|
-
this.cancelButton =
|
21
|
+
this.cancelButton = HClickButton.extend({
|
22
22
|
click: function(){
|
23
23
|
this.setValue( -1 );
|
24
24
|
}
|
@@ -33,5 +33,16 @@ HConfirmSheet = HAlertSheet.extend({
|
|
33
33
|
}
|
34
34
|
);
|
35
35
|
this.base();
|
36
|
-
}
|
36
|
+
},
|
37
|
+
|
38
|
+
/** = Description
|
39
|
+
* Binds the same value to cancelButton.
|
40
|
+
*
|
41
|
+
**/
|
42
|
+
setValueObj: function( valueObj ){
|
43
|
+
this.base( valueObj );
|
44
|
+
if ( this['cancelButton'] ) {
|
45
|
+
valueObj.bind( this.cancelButton );
|
46
|
+
}
|
47
|
+
}
|
37
48
|
});
|
@@ -10,16 +10,21 @@
|
|
10
10
|
/*** = Description
|
11
11
|
** HSheet is a container component that toggles its visibility
|
12
12
|
** based on its value. When the value is 0, it's visible, otherwise
|
13
|
-
** it's hidden. It expands to fill its parent view
|
14
|
-
**
|
15
|
-
**
|
16
|
-
**
|
17
|
-
**
|
13
|
+
** it's hidden. It expands to fill its parent view.
|
14
|
+
**
|
15
|
+
** Its rect specifies the relative size and position of the centered inner
|
16
|
+
** sheet, which acts as a subview.
|
17
|
+
**
|
18
|
+
** It's practical when combined with button values.
|
19
|
+
**
|
20
|
+
** Also see HAlertSheet and HConfirmSheet components.
|
21
|
+
**
|
18
22
|
***/
|
19
23
|
var//RSence.Controls
|
20
24
|
HSheet = HControl.extend({
|
25
|
+
|
21
26
|
componentName: 'sheet',
|
22
|
-
|
27
|
+
|
23
28
|
/** = Description
|
24
29
|
* Shows of hides HSheet depending on the value.
|
25
30
|
* If the value is 0 the HSheet#show() will be called.
|
@@ -34,7 +39,7 @@ HSheet = HControl.extend({
|
|
34
39
|
this.hide();
|
35
40
|
}
|
36
41
|
},
|
37
|
-
|
42
|
+
|
38
43
|
/** = Description
|
39
44
|
* Draws the sheet rectangle once it has been created and
|
40
45
|
* if it has not been set as hidden by constructor.
|
@@ -45,36 +50,38 @@ HSheet = HControl.extend({
|
|
45
50
|
**/
|
46
51
|
drawRect: function() {
|
47
52
|
if (this.parent && this.rect.isValid) {
|
48
|
-
var
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
53
|
+
var
|
54
|
+
_this = this,
|
55
|
+
_elemId = _this.elemId,
|
56
|
+
_styl = ELEM.setStyle,
|
57
|
+
_rect = _this.rect,
|
58
|
+
_width = _rect.width,
|
59
|
+
_top = _rect.top,
|
60
|
+
_left = 0-Math.floor(_rect.width/2)+_rect.left,
|
61
|
+
_height = _rect.height;
|
55
62
|
|
56
|
-
_styl( _elemId, 'left', '0px'
|
57
|
-
_styl( _elemId, 'top', '0px'
|
58
|
-
_styl( _elemId, 'right', '0px'
|
59
|
-
_styl( _elemId, 'bottom', '0px'
|
60
|
-
_styl( _elemId, 'width', 'auto'
|
61
|
-
_styl( _elemId, 'height', 'auto'
|
62
|
-
_styl( _elemId, 'min-width', _width+'px'
|
63
|
-
_styl( _elemId, 'min-height', _height+'px'
|
63
|
+
_styl( _elemId, 'left', '0px');
|
64
|
+
_styl( _elemId, 'top', '0px');
|
65
|
+
_styl( _elemId, 'right', '0px');
|
66
|
+
_styl( _elemId, 'bottom', '0px');
|
67
|
+
_styl( _elemId, 'width', 'auto');
|
68
|
+
_styl( _elemId, 'height', 'auto');
|
69
|
+
_styl( _elemId, 'min-width', _width+'px');
|
70
|
+
_styl( _elemId, 'min-height', _height+'px');
|
64
71
|
|
65
72
|
if(_this['markupElemIds']){
|
66
73
|
var _stateId = _this.markupElemIds['state'];
|
67
|
-
_styl( _stateId, 'left', _left+'px'
|
68
|
-
_styl( _stateId, 'top', '
|
69
|
-
_styl( _stateId, 'width', _width+'px'
|
70
|
-
_styl( _stateId, 'height', _height+'px'
|
74
|
+
_styl( _stateId, 'left', _left+'px' );
|
75
|
+
_styl( _stateId, 'top', _top+'px' );
|
76
|
+
_styl( _stateId, 'width', _width+'px' );
|
77
|
+
_styl( _stateId, 'height', _height+'px' );
|
71
78
|
}
|
72
79
|
//-- Show the rectangle once it gets created, unless visibility was set to++
|
73
80
|
//-- hidden in the constructor.++
|
74
81
|
if(undefined === _this.isHidden || _this.isHidden === false) {
|
75
|
-
_styl( _elemId, 'visibility', 'inherit'
|
82
|
+
_styl( _elemId, 'visibility', 'inherit');
|
76
83
|
}
|
77
|
-
_styl( _elemId, 'display', 'block'
|
84
|
+
_styl( _elemId, 'display', 'block');
|
78
85
|
_this._updateZIndex();
|
79
86
|
_this.drawn = true;
|
80
87
|
}
|
@@ -18,28 +18,28 @@
|
|
18
18
|
var//RSence.Controls
|
19
19
|
HImageView = HControl.extend({
|
20
20
|
|
21
|
+
getImgSrc: function(){
|
22
|
+
var _value = (this.value!==null)?this.value:(this.options.valueObj?this.options.valueObj.value:this.options.value);
|
23
|
+
if (!_value){
|
24
|
+
_value = this.getThemeGfxPath() + "/blank.gif";
|
25
|
+
}
|
26
|
+
return _value;
|
27
|
+
},
|
28
|
+
|
21
29
|
controlDefaults: (HControlDefaults.extend({
|
22
30
|
scaleToFit: true,
|
23
|
-
value: null
|
24
|
-
constructor: function(_ctrl){
|
25
|
-
if(this.value===null){
|
26
|
-
// default to a blank image
|
27
|
-
this.value = _ctrl.getThemeGfxPath() + "/blank.gif";
|
28
|
-
}
|
29
|
-
}
|
31
|
+
value: null
|
30
32
|
})),
|
31
33
|
|
32
34
|
_makeScaleToFit: function(_parentId){
|
33
|
-
var _value = (this.value!==null)?this.value:(this.options.valueObj?this.options.valueObj.value:this.options.value);
|
34
35
|
this.elemId = ELEM.make(_parentId,'img');
|
35
|
-
ELEM.setAttr(this.elemId,'src',
|
36
|
+
ELEM.setAttr(this.elemId,'src',this.getImgSrc());
|
36
37
|
ELEM.setAttr(this.elemId,'alt',this.label);
|
37
38
|
ELEM.setAttr(this.elemId,'title',this.label);
|
38
39
|
},
|
39
40
|
_makeScaleToOriginal: function(_parentId){
|
40
|
-
var _value = (this.value!==null)?this.value:(this.options.valueObj?this.options.valueObj.value:this.options.value);
|
41
41
|
this.elemId = ELEM.make(_parentId,'div');
|
42
|
-
ELEM.setStyle(this.elemId,'background-image','url('+
|
42
|
+
ELEM.setStyle(this.elemId,'background-image','url('+this.getImgSrc()+')');
|
43
43
|
ELEM.setStyle(this.elemId,'background-position','0px 0px');
|
44
44
|
ELEM.setStyle(this.elemId,'background-repeat','no-repeat');
|
45
45
|
ELEM.setAttr(this.elemId,'title',this.label);
|
@@ -59,10 +59,10 @@ HImageView = HControl.extend({
|
|
59
59
|
**/
|
60
60
|
refreshValue: function(){
|
61
61
|
if(this.options.scaleToFit){
|
62
|
-
ELEM.setAttr(this.elemId,'src',this.
|
62
|
+
ELEM.setAttr(this.elemId,'src',this.getImgSrc());
|
63
63
|
}
|
64
64
|
else{
|
65
|
-
ELEM.setStyle(this.elemId,'background-image','url('+this.
|
65
|
+
ELEM.setStyle(this.elemId,'background-image','url('+this.getImgSrc()+')');
|
66
66
|
}
|
67
67
|
},
|
68
68
|
|
@@ -19,13 +19,13 @@ HProgressIndicator = HView.extend({
|
|
19
19
|
_indicator: null,
|
20
20
|
_animDirection: 0,
|
21
21
|
drawSubviews: function(){
|
22
|
-
var _this = this
|
22
|
+
var _this = this,
|
23
|
+
_rect = _this.rect,
|
24
|
+
_height = _rect.height,
|
25
|
+
_width = _rect.width;
|
26
|
+
_width -= 2;
|
23
27
|
_this.setStyle( 'border', '1px solid #999' );
|
24
28
|
_this.setStyle( 'background-color', '#ccc' );
|
25
|
-
var _height = _this.rect.height,
|
26
|
-
_visibleWidth = ELEM.getVisibleSize( _this.elemId )[0],
|
27
|
-
_width = (_visibleWidth===0)?_this.rect.width:_visibleWidth;
|
28
|
-
_width -= 2;
|
29
29
|
_this['_rect'+0] = HRect.nu( 0,0,_height,_height );
|
30
30
|
_this['_rect'+1] = HRect.nu( _width-_height, 0, _width, _height );
|
31
31
|
_this._indicator = HView.nu( HRect.nu( _this['_rect'+0] ), _this );
|
@@ -36,7 +36,7 @@ HSlider = HControl.extend({
|
|
36
36
|
|
37
37
|
defaultEvents: {
|
38
38
|
draggable: true,
|
39
|
-
keyDown:
|
39
|
+
keyDown: 'repeat',
|
40
40
|
keyUp: true,
|
41
41
|
mouseWheel: true
|
42
42
|
},
|
@@ -44,8 +44,6 @@ HSlider = HControl.extend({
|
|
44
44
|
controlDefaults: (HControlDefaults.extend({
|
45
45
|
minValue: 0,
|
46
46
|
maxValue: 1,
|
47
|
-
repeatDelay: 300,
|
48
|
-
repeatInterval: 50,
|
49
47
|
inverseAxis: false
|
50
48
|
})),
|
51
49
|
|
@@ -154,12 +152,10 @@ HSlider = HControl.extend({
|
|
154
152
|
// Arrow keys move the thumb 5% at a time.
|
155
153
|
if ( (_keycode === Event.KEY_LEFT && !this._isVertical) ||
|
156
154
|
(_keycode === Event.KEY_DOWN && this._isVertical) ) {
|
157
|
-
this._moving = true;
|
158
155
|
this._moveThumb(-0.05);
|
159
156
|
}
|
160
157
|
else if ( (_keycode === Event.KEY_RIGHT && !this._isVertical) ||
|
161
158
|
(_keycode === Event.KEY_UP && this._isVertical) ) {
|
162
|
-
this._moving = true;
|
163
159
|
this._moveThumb(0.05);
|
164
160
|
}
|
165
161
|
// Home key moves the thumb to the beginning and end key to the end.
|
@@ -171,15 +167,12 @@ HSlider = HControl.extend({
|
|
171
167
|
}
|
172
168
|
// Page up and page down keys move the thumb 25% at a time.
|
173
169
|
else if (_keycode === Event.KEY_PAGEDOWN) {
|
174
|
-
this._moving = true;
|
175
170
|
this._moveThumb(-0.25);
|
176
171
|
}
|
177
172
|
else if (_keycode === Event.KEY_PAGEUP) {
|
178
|
-
this._moving = true;
|
179
173
|
this._moveThumb(0.25);
|
180
174
|
}
|
181
|
-
|
182
|
-
|
175
|
+
return true;
|
183
176
|
},
|
184
177
|
|
185
178
|
|
@@ -191,7 +184,7 @@ HSlider = HControl.extend({
|
|
191
184
|
*
|
192
185
|
**/
|
193
186
|
keyUp: function(_keycode) {
|
194
|
-
|
187
|
+
return true;
|
195
188
|
},
|
196
189
|
|
197
190
|
|
@@ -223,29 +216,9 @@ HSlider = HControl.extend({
|
|
223
216
|
|
224
217
|
// --private method++
|
225
218
|
_moveThumb: function(_valueChange, _rate) {
|
226
|
-
|
227
|
-
if (!_rate) {
|
228
|
-
// --If the key is held down, wait for a while before starting repeat.++
|
229
|
-
_rate = this.options.repeatDelay;
|
230
|
-
}
|
231
|
-
else if (_rate === this.options.repeatDelay) {
|
232
|
-
_rate = this.options.repeatInterval;
|
233
|
-
}
|
234
|
-
|
235
|
-
if (this._moving && this.active) {
|
236
|
-
|
219
|
+
if (this.active) {
|
237
220
|
var _value = (this.maxValue - this.minValue) * _valueChange;
|
238
|
-
|
239
221
|
this.setValue( this.value + _value);
|
240
|
-
|
241
|
-
var _that = this;
|
242
|
-
if (this._thumbMoveTimeout) {
|
243
|
-
window.clearTimeout(this._thumbMoveTimeout);
|
244
|
-
this._thumbMoveTimeout = null;
|
245
|
-
}
|
246
|
-
this._thumbMoveTimeout = window.setTimeout(function(){
|
247
|
-
_that._moveThumb(_valueChange, _rate);
|
248
|
-
}, _rate);
|
249
222
|
}
|
250
223
|
|
251
224
|
},
|