[%- USE HTML %] [%#- Multibox This template makes an input box for you, decides wether it should be a text field or a drop down box, generates the HTML code, and fixes everything just right. call: PROCESS generic/multibox.html var = var, var2 = .... options and variables: name : name of the select/textfield id : id of the select/textfield, optional, defaults to name default : entered/selected value. defaults to a dereference of name, since it is usually set to that for update mechanisms id_key : key that holds the id in each row. id_sub : name of a perl sub that calculates the id for each row. will be called with a hashref. label_key : key that holds the label in each row. label_sub : name of a perl sub that calculates the label for each row. will be called with a hashref. DATA : the actual data, expected to be arrayref of hashrefs, usually what's returned by the all_vc routines. show_empty : show an empty first line in select boxes. defaults to false style : additional style information onChange : java magic on change select : java function call for a selection popup or other magic allow_textbox : allow to display a textbox instead of a drop down box if there are more entries than 'limit' entries. limit : defines the limit of entries, after which a textbox is generated. defaults to vclimit, or, failing to find that, 200. select_name : if a select is displayed, use a different name. ex.: department for textinput, but department_id for selects readonly : softly prevents modification class : CSS class names (optional) -%] [%- Multibox__limit = limit != '' ? limit : vclimit != '' ? vclimit : 200 Multibox__show_text = allow_textbox and DATA.size and Multibox__limit < DATA.size ? 1 : 0 Multibox__id = id != '' && id * 1 != id ? id : name Multibox__default = default != '' ? default : $name Multibox__name = (select_name != '' and ! Multibox__show_text) ? select_name : name -%] [%- IF Multibox__show_text %] [%- IF select -%] [%- END -%] [%- ELSE %] [%- END %]