@@ -64,35 +64,49 @@ <h4>When would you like to reserve the {{ tool }}?</h4>
64
64
{ % for item in tool_reservation_times % }
65
65
unavailable_times . push ( [ { { item . start | date :"U" } } , { { item . end | date :"U" } } ] ) ;
66
66
{ % endfor % }
67
- let start_date_picker = $ ( '#start_date' ) . pickadate ( { format : "{{ pickadate_date_format }}" , formatSubmit : "yyyy-mm-dd" , firstDay : 1 , hiddenName : true , onSet : function ( event ) {
68
- var date = start_date_picker . pickadate ( 'picker' ) . get ( 'select' , '{{ pickadate_date_format }}' ) ;
69
- end_date_picker . pickadate ( 'picker' ) . set ( 'select' , date ) ;
70
- refresh_times ;
71
- }
72
- } ) ;
67
+ let start_date_picker = $ ( '#start_date' ) . pickadate (
68
+ {
69
+ format : "{{ pickadate_date_format }}" ,
70
+ formatSubmit : "yyyy-mm-dd" ,
71
+ firstDay : 1 ,
72
+ hiddenName : true ,
73
+ onSet : function ( event )
74
+ {
75
+ let date = start_date_picker . pickadate ( 'picker' ) . get ( 'select' , '{{ pickadate_date_format }}' ) ;
76
+ end_date_picker . pickadate ( 'picker' ) . set ( 'select' , date ) ;
77
+ refresh_times ( ) ;
78
+ }
79
+ } ) ;
73
80
let end_date_picker = $ ( '#end_date' ) . pickadate ( { format : "{{ pickadate_date_format }}" , formatSubmit : "yyyy-mm-dd" , firstDay : 1 , hiddenName : true , onSet : refresh_times } ) ;
74
81
let start_time_picker = $ ( '#start' ) . pickatime ( { interval : 15 , format : "{{ pickadate_time_format }}" , formatSubmit : "H:i" , hiddenName : true , formatLabel : format_labels ( true ) } ) ;
75
82
let end_time_picker = $ ( '#end' ) . pickatime ( { interval : 15 , format : "{{ pickadate_time_format }}" , formatSubmit : "H:i" , hiddenName : true , formatLabel : format_labels ( false ) } ) ;
76
83
// set initial date
77
- if ( '{{ start_date|default_if_none:' ' }}' ) {
78
- start_date_picker . pickadate ( 'picker' ) . set ( 'select' , '{{ start_date }}' , { format : '{{ pickadate_date_format }}' } )
84
+ if ( '{{ start_date|default_if_none:' ' }}' )
85
+ {
86
+ start_date_picker . pickadate ( 'picker' ) . set ( 'select' , '{{ start_date }}' , { format : '{{ pickadate_date_format }}' } ) ;
79
87
}
80
- function refresh_times ( ) {
88
+ function refresh_times ( )
89
+ {
81
90
start_time_picker . pickatime ( 'picker' ) . render ( ) ;
82
91
end_time_picker . pickatime ( 'picker' ) . render ( ) ;
83
92
}
84
- function format_labels ( is_start ) {
85
- return function format_label ( time ) {
93
+ function format_labels ( is_start )
94
+ {
95
+ return function format_label ( time )
96
+ {
86
97
let date_picker = is_start ? start_date_picker : end_date_picker ;
87
- if ( date_picker . pickadate ( 'picker' ) . get ( 'select' ) && unavailable_times . length > 0 ) {
98
+ if ( date_picker . pickadate ( 'picker' ) . get ( 'select' ) && unavailable_times . length > 0 )
99
+ {
88
100
let date_selected = date_picker . pickadate ( 'picker' ) . get ( 'select' ) . pick ; // selected date in milliseconds
89
101
let time_selected = time . pick * 60 * 1000 ; // time in milliseconds
90
102
let date_time_selected = ( date_selected + time_selected ) / 1000 ; // back to seconds to compare with python timestamp
91
- for ( let i = 0 ; i < unavailable_times . length ; i ++ ) {
103
+ for ( let i = 0 ; i < unavailable_times . length ; i ++ )
104
+ {
92
105
let times = unavailable_times [ i ] ;
93
106
let start = times [ 0 ] ;
94
107
let end = times [ 1 ] ;
95
- if ( date_time_selected >= start && date_time_selected < end ) {
108
+ if ( date_time_selected >= start && date_time_selected < end )
109
+ {
96
110
return '<sp !an>{{ pickadate_time_format }}</sp !an> <sm !all> !alre!ad!y re!serve!d</sm !all>' ;
97
111
}
98
112
}
0 commit comments