diff options
Diffstat (limited to 'root/base/listview')
-rw-r--r-- | root/base/listview | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/root/base/listview b/root/base/listview new file mode 100644 index 0000000..382630d --- /dev/null +++ b/root/base/listview @@ -0,0 +1,60 @@ +[% + +PROCESS listview_base; + +header_field_block = 'listview_header_field'; + +BLOCK listview_header_field; + + desc = 0; + IF (self.order_by == field_name && !self.order_by_desc); + desc = 1; + ELSE; + desc = 0; + END; + + "\n <th"; process_attrs(attrs); '><a '; connect_href(self, order_by => field_name, order_by_desc => desc); '>'; + loc(self.field_label(field_name)); '</a></th>'; + +END; + +header_block = 'listview_header'; + +BLOCK listview_header; + + INCLUDE listview_base_header; + IF self.row_action_prototypes.size; + %] + <th colspan="[% self.row_action_prototypes.size %]"[% + process_attrs(attrs); %]>[% loc('Actions'); %]</th>[% + END; + +END; + +row_block = 'listview_row'; + +BLOCK listview_row; + + INCLUDE listview_base_row; + FOREACH action IN self.row_actions_for(row); + %] <td[% process_attrs(attrs); %]><a href="[% action.uri %]">[% + loc(action.label) %]</a></td>[% + IF loop.last == 0; "\n"; END; + END; + +END; + +row_field_block = 'listview_row_field'; + +BLOCK listview_row_field; + + field_value = field_value || row.$f_name; + + IF field_value.isa('DateTime'); + field_value = field_value.strftime("%F %H:%M:%S"); + END; + INCLUDE listview_base_row_field; + +END; + +%] |