Index: openacs-4/packages/calendar/www/mini-calendar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/mini-calendar.tcl,v diff -u -r1.21 -r1.22 --- openacs-4/packages/calendar/www/mini-calendar.tcl 27 Oct 2014 16:41:08 -0000 1.21 +++ openacs-4/packages/calendar/www/mini-calendar.tcl 7 Aug 2017 23:48:05 -0000 1.22 @@ -1,26 +1,29 @@ -if {(![info exists base_url] || $base_url eq "")} { +if {![info exists base_url] || $base_url eq ""} { set base_url [ad_conn url] } -if {(![info exists date] || $date eq "")} { +if {![info exists date] || $date eq ""} { set date [dt_sysdate] } -ad_form -name go-to-date -method get -has_submit 1 -action $base_url -export [lappend list_of_vars page_num] -html {class inline-form} -form { - {date:text,nospell,optional - {label "[_ acs-datetime.Date]"} - {html {size 10}} - } - {btn_ok:text(submit) - {label "[_ calendar.Go_to_date]"} - } - {view:text(hidden) - {value "day"} - } -} -on_submit {} +ad_form -name go-to-date -method get -has_submit 1 -action $base_url \ + -export [lappend list_of_vars page_num] \ + -html {class inline-form} \ + -form { + {date:text,nospell,optional + {label "[_ acs-datetime.Date]"} + {html {size 10}} + } + {btn_ok:text(submit) + {label "[_ calendar.Go_to_date]"} + } + {view:text(hidden) + {value "day"} + } + } -on_submit {} -if {([info exists page_num] && $page_num ne "")} { +if {[info exists page_num] && $page_num ne ""} { set page_num_formvar [export_vars -form {page_num}] set page_num "&page_num=$page_num" } else { @@ -75,17 +78,17 @@ dt_get_info $date } -set now [clock scan $date] -set date_list [dt_ansi_to_list $date] -set year [dt_trim_leading_zeros [lindex $date_list 0]] -set month [dt_trim_leading_zeros [lindex $date_list 1]] -set day [dt_trim_leading_zeros [lindex $date_list 2]] +set now [clock scan $date] +set date_list [dt_ansi_to_list $date] +set year [util::trim_leading_zeros [lindex $date_list 0]] +set month [util::trim_leading_zeros [lindex $date_list 1]] +set day [util::trim_leading_zeros [lindex $date_list 2]] -set months_list [dt_month_names] -set curr_month_idx [expr [dt_trim_leading_zeros [clock format $now -format "%m"]]-1] -set curr_day [clock format $now -format "%d"] -set curr_month [clock format $now -format "%B"] -set curr_year [clock format $now -format "%Y"] +set months_list [dt_month_names] +set curr_month_idx [expr [util::trim_leading_zeros [clock format $now -format "%m"]]-1] +set curr_day [clock format $now -format "%d"] +set curr_month [clock format $now -format "%B"] +set curr_year [clock format $now -format "%Y"] set curr_date_pretty [lc_time_fmt $date "%q"] set today [lc_time_fmt [dt_sysdate] "%q"] @@ -95,23 +98,16 @@ set next_year [clock format [clock scan "1 year" -base $now] -format "%Y-%m-%d"] set prev_year_url "$base_url?view=$view&date=[ad_urlencode $prev_year]${page_num}${url_stub_period_days}" set next_year_url "$base_url?view=$view&date=[ad_urlencode $next_year]${page_num}${url_stub_period_days}" + set now [clock scan $date] - set now [clock scan $date] - multirow create months name current_month_p new_row_p url for {set i 0} {$i < 12} {incr i} { set month [lindex $months_list $i] # show 3 months in a row - set new_row_p [expr {$i / 3}] -# if {($i != 0) && ($i % 3 == 0)} { -# set new_row_p t -# } else { -# set new_row_p f -# } if {$i == $curr_month_idx} { set current_month_p t @@ -136,11 +132,11 @@ multirow create days_of_week day_short day_num for {set i 0} {$i < 7} {incr i} { multirow append days_of_week \ - [lindex $week_days [expr {[expr {$i + $first_day_of_week}] % 7}]] \ + [lindex $week_days [expr {($i + $first_day_of_week) % 7}]] \ $i } - multirow create days day_number beginning_of_week_p end_of_week_p today_p active_p url weekday day_num pretty_date + multirow create days day_number beginning_of_week_p end_of_week_p today_p active_p url weekday day_num pretty_date id set day_of_week 1 @@ -191,21 +187,34 @@ } set weekday [lindex $long_weekdays $day_of_week] - + set url "[export_vars -base $base_url {{date $ansi_date} view}]${page_num}${url_stub_period_days}" multirow append days $day_number $beginning_of_week_p $end_of_week_p $today_p $active_p \ - "[export_vars -base $base_url {{date $ansi_date} view}]${page_num}${url_stub_period_days}" \ + $url \ $weekday \ $day_num \ - $pretty_date + $pretty_date \ + mini-calendar-$ansi_date + template::add_body_script -script [subst { + var e = document.getElementById('mini-calendar-$ansi_date'); + e.addEventListener('click', function (event) { + event.preventDefault(); + location.href = '$url#calendar'; + }); + e.addEventListener('keypress', function (event) { + event.preventDefault(); + acs_KeypressGoto('$url#calendar',event); + }); + }] + incr day_number incr day_of_week } } set today_url "$base_url?view=day&date=[ad_urlencode [dt_sysdate]]${page_num}${url_stub_period_days}" -if { $view eq "day" && [dt_sysdate] == $date } { +if { $view eq "day" && [dt_sysdate] eq $date } { set today_p t } else { set today_p f @@ -222,3 +231,9 @@ {label ""} {format {MM DD YYYY}}} } + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: