RapidApp::AppDV::HtmlTable - Table generator for RapidApp/AppDV
This module generates a nicely laid out "Property" (name/value pairs) HTML table according to the data structure in 'tt_table_data' which should look like this:
[ [ { name => "Some Label/Heading", value => "Some value" }, { name => "foo", value => "BLAH" }, { name => "abc", value => "xyc" }, ], [ { name => "Some Label, top of second column group", value => "Some value" }, { name => "aaa", value => "123" } ] ]
The data should be an array of arrays, each sequential sub array defines a column set and contains name/value pairs
While you can manually define tt_table_data, if you don't it will be automatically populated according to the configured DataStore2 columns.
By default 2 even column sets will be setup, but you can define 'column_layout' which is an intermediary for generating tt_table_data like this:
has '+column_layout', => default => sub {[ [ 'column_name1', 'col_foo', 'another_column' ], [ 'col_a', 'col_b' ], [ 'col_z', 'col_y', 'col_x', 'col_w' ] ]};
The above would define 3 column groups. The headers and AppDV 'autofield' values are populated automatically according to the DataStore2/TableSpec column configs
You can also apply extra css styles like this:
has '+tt_css_styles', default => sub {{ 'table.property-table table.column td.name' => { 'text-align' => 'right' } }};
The above would cause the labels to the right-justified instead of left-justified. This is based on the css and class names that are used when the table is generated. See the tt file (rapidapp/misc/property_table.tt) for direction on what css styles to apply
You can also override the method 'get_tt_column_data' for fine-grained control when tt_table_data is being automatically generated from DataStore2 columns
Besides 'name' and 'value', other column_data parameters are available:
* name_cls: if supplied, this css class name is applied to the name cell div * value_cls: if supplied, this css class name is applied to the value cell div * name_style: if supplied, this style is applied to the name cell div * value_style: if supplied, this style is applied to the value cell div * whole_col: if set to true, 'name' is ignored and colspan="2" is set on the 'value' cell/td
The column data hash can be returned from get_tt_column_data, and arbitrary also column_data hashed can be supplied instead of a column name within 'column_layout'
Henry Van Styn <vanstyn@intellitree.com>
To install RapidApp, copy and paste the appropriate command in to your terminal.
cpanm
cpanm RapidApp
CPAN shell
perl -MCPAN -e shell install RapidApp
For more information on module installation, please visit the detailed CPAN module installation guide.