@@ -12,6 +12,36 @@ define([
12
12
"jquery-ui"
13
13
] , function ( widget , _ , $ ) {
14
14
15
+ var IntModel = widget . DOMWidgetModel . extend ( {
16
+ defaults : _ . extend ( { } , widget . DOMWidgetModel . prototype . defaults , {
17
+ _model_name : "IntModel" ,
18
+ value : 0 ,
19
+ disabled : false ,
20
+ description : ""
21
+ } ) ,
22
+ } ) ;
23
+
24
+ var BoundedIntModel = IntModel . extend ( {
25
+ defaults : _ . extend ( { } , IntModel . prototype . defaults , {
26
+ _model_name : "BoundedIntModel" ,
27
+ step : 1 ,
28
+ max : 100 ,
29
+ min : 0
30
+ } ) ,
31
+ } ) ;
32
+
33
+ var IntSliderModel = BoundedIntModel . extend ( {
34
+ defaults : _ . extend ( { } , BoundedIntModel . prototype . defaults , {
35
+ _model_name : "IntSliderModel" ,
36
+ _view_name : "IntSliderView" ,
37
+ orientation : "horizontal" ,
38
+ _range : false ,
39
+ readout : true ,
40
+ slider_color : null ,
41
+ continuous_update : true
42
+ } ) ,
43
+ } ) ;
44
+
15
45
var IntSliderView = widget . DOMWidgetView . extend ( {
16
46
render : function ( ) {
17
47
/**
@@ -27,7 +57,7 @@ define([
27
57
this . $slider = $ ( '<div />' )
28
58
. slider ( { } )
29
59
. addClass ( 'slider' ) ;
30
- // Put the slider in a container
60
+ // Put the slider in a container
31
61
this . $slider_container = $ ( '<div />' )
32
62
. addClass ( 'slider-container' )
33
63
. append ( this . $slider ) ;
@@ -41,7 +71,7 @@ define([
41
71
42
72
this . listenTo ( this . model , 'change:slider_handleTextChangecolor' , function ( sender , value ) {
43
73
this . $slider . find ( 'a' ) . css ( 'background' , value ) ;
44
- } , this ) ;
74
+ } , this ) ;
45
75
this . listenTo ( this . model , 'change:description' , function ( sender , value ) {
46
76
this . updateDescription ( ) ;
47
77
} , this ) ;
@@ -336,8 +366,14 @@ define([
336
366
} ,
337
367
} ) ;
338
368
369
+ var IntTextModel = IntModel . extend ( {
370
+ defaults : _ . extend ( { } , IntModel . prototype . defaults , {
371
+ _model_name : "IntTextModel" ,
372
+ _view_name : "IntTextView"
373
+ } ) ,
374
+ } ) ;
339
375
340
- var IntTextView = widget . DOMWidgetView . extend ( {
376
+ var IntTextView = widget . DOMWidgetView . extend ( {
341
377
render : function ( ) {
342
378
/**
343
379
* Called when view is rendered.
@@ -352,7 +388,7 @@ define([
352
388
. addClass ( 'form-control' )
353
389
. addClass ( 'widget-numeric-text' )
354
390
. appendTo ( this . $el ) ;
355
-
391
+
356
392
this . listenTo ( this . model , 'change:description' , function ( sender , value ) {
357
393
this . updateDescription ( ) ;
358
394
} , this ) ;
@@ -412,9 +448,9 @@ define([
412
448
413
449
// Fires only when control is validated or looses focus.
414
450
"change input" : "handleChanged"
415
- } ,
451
+ } ,
416
452
417
- handleChanging : function ( e ) {
453
+ handleChanging : function ( e ) {
418
454
/**
419
455
* Handles and validates user input.
420
456
*
@@ -443,15 +479,15 @@ define([
443
479
444
480
// Apply the value if it has changed.
445
481
if ( numericalValue != this . model . get ( 'value' ) ) {
446
-
447
- // Calling model.set will trigger all of the other views of the
482
+
483
+ // Calling model.set will trigger all of the other views of the
448
484
// model to update.
449
485
this . model . set ( 'value' , numericalValue , { updated_view : this } ) ;
450
486
this . touch ( ) ;
451
487
}
452
488
}
453
489
} ,
454
-
490
+
455
491
handleChanged : function ( e ) {
456
492
/**
457
493
* Applies validated input.
@@ -464,6 +500,14 @@ define([
464
500
_parse_value : parseInt
465
501
} ) ;
466
502
503
+ var ProgressModel = BoundedIntModel . extend ( {
504
+ defaults : _ . extend ( { } , BoundedIntModel . prototype . defaults , {
505
+ _model_name : "ProgressModel" ,
506
+ _view_name : "ProgressView" ,
507
+ orientation : "horisontal" ,
508
+ bar_style : ""
509
+ } ) ,
510
+ } ) ;
467
511
468
512
var ProgressView = widget . DOMWidgetView . extend ( {
469
513
render : function ( ) {
@@ -487,9 +531,9 @@ define([
487
531
'bottom' : 0 , 'left' : 0 ,
488
532
} )
489
533
. appendTo ( this . $progress ) ;
490
-
534
+
491
535
// Set defaults.
492
- this . update ( ) ;
536
+ this . update ( ) ;
493
537
this . updateDescription ( ) ;
494
538
495
539
this . listenTo ( this . model , "change:bar_style" , this . update_bar_style , this ) ;
@@ -507,14 +551,14 @@ define([
507
551
} else {
508
552
this . typeset ( this . $label , description ) ;
509
553
this . $label . show ( ) ;
510
- }
554
+ }
511
555
} ,
512
556
513
557
update : function ( ) {
514
558
/**
515
559
* Update the contents of this view
516
560
*
517
- * Called when the model is changed. The model may have been
561
+ * Called when the model is changed. The model may have been
518
562
* changed by another view or by a state update from the back-end.
519
563
*/
520
564
var value = this . model . get ( 'value' ) ;
@@ -544,7 +588,7 @@ define([
544
588
} ) ;
545
589
}
546
590
return ProgressView . __super__ . update . apply ( this ) ;
547
- } ,
591
+ } ,
548
592
549
593
update_bar_style : function ( ) {
550
594
var class_map = {
@@ -560,7 +604,7 @@ define([
560
604
/**
561
605
* Set a css attr of the widget view.
562
606
*/
563
- if ( name == ' color' ) {
607
+ if ( name == " color" ) {
564
608
this . $bar . css ( 'background' , value ) ;
565
609
} else if ( name . substring ( 0 , 6 ) == 'border' || name == 'background' ) {
566
610
this . $progress . css ( name , value ) ;
@@ -571,8 +615,13 @@ define([
571
615
} ) ;
572
616
573
617
return {
574
- 'IntSliderView' : IntSliderView ,
575
- 'IntTextView' : IntTextView ,
576
- 'ProgressView' : ProgressView ,
618
+ IntModel : IntModel ,
619
+ BoundedIntModel : BoundedIntModel ,
620
+ IntSliderModel : IntSliderModel ,
621
+ IntSliderView : IntSliderView ,
622
+ IntTextModel : IntTextModel ,
623
+ IntTextView : IntTextView ,
624
+ ProgressModel : ProgressModel ,
625
+ ProgressView : ProgressView ,
577
626
} ;
578
627
} ) ;
0 commit comments