Index: openacs-4/packages/acs-templating/tcl/date-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/date-procs.tcl,v
diff -u -N -r1.15 -r1.16
--- openacs-4/packages/acs-templating/tcl/date-procs.tcl 18 Nov 2002 18:01:07 -0000 1.15
+++ openacs-4/packages/acs-templating/tcl/date-procs.tcl 2 Jan 2003 17:11:09 -0000 1.16
@@ -729,7 +729,7 @@
}
ad_proc -public template::widget::dateFragment {
- element_reference fragment size type value } {
+ element_reference fragment size type value {mode edit} } {
Create an input widget for the given date fragment
If type is "t", uses a text widget for the fragment, with the given
size.
@@ -742,39 +742,52 @@
set value [template::util::date::get_property $fragment $value]
set value [template::util::leadingTrim $value]
- if { [info exists element(${fragment}_interval)] } {
- set interval $element(${fragment}_interval)
+ if { ![string equal $mode "edit"] } {
+ set output {}
+ append output ""
+ append output $value
+ return $output
} else {
- # Display text entry for some elements, or if the type is text
- if { [string equal $type t] ||
- [regexp "year|short_year" $fragment] } {
- return "\n"
- } else {
- # Use a default range for others
- set interval [template::util::date::defaultInterval $fragment]
- }
+ if { [info exists element(${fragment}_interval)] } {
+ set interval $element(${fragment}_interval)
+ } else {
+ # Display text entry for some elements, or if the type is text
+ if { [string equal $type t] ||
+ [regexp "year|short_year" $fragment] } {
+ return "\n"
+ } else {
+ # Use a default range for others
+ set interval [template::util::date::defaultInterval $fragment]
+ }
+ }
+ return [template::widget::numericRange "$element(name).$fragment" \
+ $interval $size $value]
}
-
- return [template::widget::numericRange "$element(name).$fragment" \
- $interval $size $value]
}
ad_proc -public template::widget::ampmFragment {
- element_reference fragment size type value } {
+ element_reference fragment size type value {mode edit} } {
Create a widget that shows the am/pm selection
} {
upvar $element_reference element
set value [template::util::date::get_property $fragment $value]
- return [template::widget::menu \
- "$element(name).$fragment" { {A.M. am} {P.M. pm}} $value {}]
+ if { ![string equal $mode "edit"] } {
+ set output {}
+ append output ""
+ append output $value
+ return $output
+ } else {
+ return [template::widget::menu \
+ "$element(name).$fragment" { {A.M. am} {P.M. pm}} $value {}]
+ }
}
ad_proc -public template::widget::monthFragment {
- element_reference fragment size type value } {
+ element_reference fragment size type value {mode edit} } {
Create a month entry widget with short or long month names
} {
@@ -784,13 +797,22 @@
set value [template::util::date::get_property $fragment $value]
- set options [list [list "--" {}]]
- for { set i 1 } { $i <= 12 } { incr i } {
- lappend options [list [template::util::date::monthName $i $size] $i]
+ if { ![string equal $mode "edit"] } {
+ set output {}
+ if { [exists_and_not_null value] } {
+ append output ""
+ append output [template::util::date::monthName $value $size]
+ }
+ return $output
+ } else {
+ set options [list [list "--" {}]]
+ for { set i 1 } { $i <= 12 } { incr i } {
+ lappend options [list [template::util::date::monthName $i $size] $i]
+ }
+
+ return [template::widget::menu \
+ "$element(name).$fragment" $options $value {} ]
}
-
- return [template::widget::menu \
- "$element(name).$fragment" $options $value {} ]
}
@@ -890,12 +912,14 @@
# Output the widget
set fragment_def $template::util::date::fragment_widgets([string toupper $token])
set fragment [lindex $fragment_def 1]
+
append output [template::widget::[lindex $fragment_def 0] \
element \
$fragment \
[lindex $fragment_def 2] \
$type \
- $value]
+ $value \
+ $element(mode)]
# Output the separator
if { [string equal $sep " "] } {