%doc> Example: include( '/elements/customer-table.html', #listrefs... 'header' => [ '#', 'Item' ], 'fields' => [ 'column', sub { my ($row,$param) = @_; $param->{"column$row"}; }, ], 'sizes' => [], # sizes ignored for immutable 'types' => ['immutable', ''], # immutable or ''/text 'param' => { column0 => 1 }, # preset column of row 0 to 1 ) %doc>
Cust # | Customer | % foreach my $header ( @{$opt{header}} ) {<% $header %> | % }
---|---|---|
" rownum="<% $row %>"> | " rownum="<% $row %>"> | % my $col = 0; % foreach my $field ( @{$opt{fields}} ) { % my $value; % if ( ref($field) eq 'CODE' ) { % $value = &{$field}($row,$param); % } else { % $value = $param->{"$field$row"}; % } % my $name = (ref($field) eq 'CODE') ? "column${col}_$row" : "$field$row"; % my $size = $sizes->[$col] || 10;% if (! $types->[$col] || $types->[$col] eq 'text') { % } elsif ($types->[$col] eq 'immutable') { <% $value %> % } else { Cannot represent unknown type: <% $types->[$col] %> % } | % $col++; % }