- Publicity: Public Only All
lang-widget-procs.tcl
Widgets for acs-lang. Currently just a special version of the select widget which adds a "lang" attribute to each option, as required by accessibility standards.
- Location:
- packages/acs-lang/tcl/lang-widget-procs.tcl
- Created:
- November 3, 2006
- Author:
- Don Baccus <dhogaza@pacifier.com>
- CVS Identification:
$Id: lang-widget-procs.tcl,v 1.12 2024/09/11 06:15:48 gustafn Exp $
Procedures in this file
- template::widget::select_locales (public)
Detailed information
template::widget::select_locales (public)
template::widget::select_locales element_reference tag_attributes
Generate a select widget for locales. We need a custom widget for this one case because accessibility standards require us to put out a "lang" attribute if the text is not in the same language as the rest of the page.
- Parameters:
- element_reference (required)
- tag_attributes (required)
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- locale_select_widget
Content File Source
ad_library { Widgets for acs-lang. Currently just a special version of the select widget which adds a "lang" attribute to each option, as required by accessibility standards. @author Don Baccus (dhogaza@pacifier.com) @creation-date November 3, 2006 @cvs-id $Id: lang-widget-procs.tcl,v 1.12 2024/09/11 06:15:48 gustafn Exp $ } namespace eval template {} namespace eval template::widget {} d_proc -public template::widget::select_locales { element_reference tag_attributes } { Generate a select widget for locales. We need a custom widget for this one case because accessibility standards require us to put out a "lang" attribute if the text is not in the same language as the rest of the page. } { upvar $element_reference element array set attributes \ [::template::widget::merge_tag_attributes element $tag_attributes] if { [info exists element(values)] } { template::util::list_to_lookup $element(values) values } if { $element(mode) ne "edit" } { set selected_list [list] foreach option $element(options) { lassign $option label value if { [info exists values($value)] } { lappend selected_list $label append output "<input type=\"hidden\" name=\"$element(name)\" value=\"[ns_quotehtml $value]\">" } } append output [join $selected_list ", "] } else { append output "<select name=\"$element(name)\" id=\"$element(name)\" " foreach name [array names attributes] { if {$attributes($name) eq {}} { append output " $name=\"$name\"" } else { append output " $name=\"$attributes($name)\"" } } append output ">\n" foreach option $element(options) { lassign $option label value set value [ns_quotehtml $value] append output " <option lang=\"[string range $value 0 1]\" value=\"$value\"" if { [info exists values($value)] } { append output " selected=\"selected\"" } append output ">$label</option>\n" } append output "</select>" } return $output } # Local variables: # mode: tcl # tcl-indent-level: 4 # indent-tabs-mode: nil # End: