summaryrefslogtreecommitdiff
path: root/httemplate/elements/select-table.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/elements/select-table.html')
-rw-r--r--httemplate/elements/select-table.html114
1 files changed, 0 insertions, 114 deletions
diff --git a/httemplate/elements/select-table.html b/httemplate/elements/select-table.html
deleted file mode 100644
index 8bcbf2504..000000000
--- a/httemplate/elements/select-table.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<%doc>
-
-Example:
-
- include( '/elements/select-table.html',
-
- #required
- 'table' => 'table_name',
- 'name_col' => 'name_column',
-
- #strongly recommended (you want your forms to be "sticky" on errors, right?)
- 'curr_value' => 'current_value',
- #'value' => #deprecated form of 'curr_value',
-
- #opt
- 'empty_label' => '', #better specify it though, the default might change
- 'hashref' => {},
- 'extra_sql' => '',
- 'records' => \@records, #instead of hashref
- 'pre_options' => [ 'value' => 'option' ], #before normal options
- 'element_name' => '', #HTML element name, defaults to the name of
- # the primary key column
- 'field' => '', #synonym for element_name
- 'element_etc' => '', #additional attributes (i.e. "DISABLED") for the
- #<SELECT> element
- 'onchange' => '', #javascript code
- 'multiple' => 0, # bool
- 'disable_empty' => 0, # bool (implied by multiple)
- 'debug' => 0, #set true to enable
- 'label_callback' => sub { my $record = shift; return "label"; },
- )
-
-</%doc>
-
-<SELECT <% $opt{'multiple'} ? 'MULTIPLE' : '' %>
- NAME = "<% $opt{'element_name'} || $opt{'field'} || $key %>"
- <% $onchange %>
- <% $opt{'element_etc'} %>
->
-
-% while ( @pre_options ) {
- <OPTION VALUE="<% shift(@pre_options) %>"><% shift(@pre_options) %>
-
-% }
-
-% unless ( $opt{'multiple'} || $opt{'disable_empty'} ) {
- <OPTION VALUE=""><% $opt{'empty_label'} || 'all' %>
-% }
-
-% foreach my $record ( sort { $a->$name_col() cmp $b->$name_col() } @records ) {
-% my $recvalue = $record->$key();
- <OPTION VALUE="<% $recvalue %>"
- <% ref($value) && $value->{$recvalue} || $value == $recvalue
- ? ' SELECTED' : ''
- %>
- ><% $opt{'label_callback'}
- ? &{ $opt{'label_callback'} }( $record )
- : $record->$name_col()
- %>
-% }
-
-</SELECT>
-
-<%init>
-
-my( %opt ) = @_;
-
-warn "elements/select-table.html: \n". Dumper(%opt)
- if exists $opt{debug} && $opt{debug};
-
-my $onchange = $opt{'onchange'}
- ? 'onChange="'. $opt{'onchange'}. '(this)"'
- : '';
-
-my $key = dbdef->table($opt{'table'})->primary_key; #? $opt{'primary_key'} ||
-
-my $name_col = $opt{'name_col'};
-
-my $value = $opt{'curr_value'} || $opt{'value'};
-$value = [ split(/\s*,\s*/, $value) ] if $opt{'multiple'} && $value =~ /,/;
-
-my @records = ();
-if ( $opt{'records'} ) {
- @records = @{ $opt{'records'} };
-} else {
- @records = qsearch( {
- 'table' => $opt{'table'},
- 'hashref' => ( $opt{'hashref'} || {} ),
- 'extra_sql' => ( $opt{'extra_sql'} || '' ),
- });
-}
-
-unless ( ! $value
- or ref($value)
- or ! exists( $opt{hashref}->{disabled} ) #??
- or grep { $value == $_->$key() } @records
- ) {
- delete $opt{hashref}->{disabled};
- $opt{hashref}->{$key} = $value;
- my $record = qsearchs( {
- 'table' => $opt{table},
- 'hashref' => $opt{hashref},
- 'extra_sql' => ( $opt{extra_sql} || '' ),
- });
- push @records, $record if $record;
-}
-
-if ( ref( $value ) eq 'ARRAY' ) {
- $value = { map { $_ => 1 } @$value };
-}
-
-my @pre_options = $opt{pre_options} ? @{ $opt{pre_options} } : ();
-
-</%init>