diff options
author | Jannis M. Hoffmann <jannis@fehcom.de> | 2023-03-10 13:54:57 +0100 |
---|---|---|
committer | Jannis M. Hoffmann <jannis@fehcom.de> | 2023-03-10 13:54:57 +0100 |
commit | fcf5549584b69e62b6c2f0eb919f6799c7904211 (patch) | |
tree | e5f0e480af0f39f1c0f457ea0aca8d33f8fb4d0b /templates/displayheaders/_main_table.html.ep | |
parent | df59f9dec32d7f8f08706fd3eb5b784deaa0abfc (diff) |
Proper recursive rendering of mails to html
1. Added raw mode to model
2. Added raw route
3. Moved readmail view parts to RenderMail plugin
4. Renamed displayheaders partial templates
Diffstat (limited to 'templates/displayheaders/_main_table.html.ep')
-rw-r--r-- | templates/displayheaders/_main_table.html.ep | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/templates/displayheaders/_main_table.html.ep b/templates/displayheaders/_main_table.html.ep new file mode 100644 index 0000000..5430c15 --- /dev/null +++ b/templates/displayheaders/_main_table.html.ep @@ -0,0 +1,112 @@ +% my $sort_param = begin + % my $param = shift; + + %= link_to url_with->query(sort => $param eq (param('sort') || '') ? '!' . $param : $param) => begin + % no warnings qw(experimental::smartmatch); + %= do { given (param('sort')) { '↑' when ($param); '↓' when ('!' . $param) } } + %= ucfirst l $param; + % end + +% end + +<table id=mail-headers class="pure-table pure-table-horizontal"> + + <thead> + <tr id=sort> + <th class="hide-small"> + # + </th> + + <th> + <div class="pure-g"> + + %# $sort_param->('status'); + + <div class="pure-u-1 pure-u-md-4-24"> + %= $sort_param->('date'); + </div> + +% if ($folder ne "SENT") { + <div class="pure-u-1 pure-u-md-8-24"> + %= $sort_param->('sender'); + </div> +% } +% else { + <th class=sort-param> + %= link_to url_with->query(sort => param('sort') ne '!sender' ? 'sender' : '!sender' ) => begin + %= ucfirst l 'recipient' + % if (param('sort') eq "sender") { + %= image '/down.gif' => (width => 12) => (height => 12) => (border => 0) => (alt => 'v') + % } + % elsif (param('sort') eq "recipient_rev") { + %= image '/up.gif' => (width => 12) => (height => 12) => (border => 0) => (alt => '^') + % } + % end + </th> +% } + + <div class="pure-u-1 pure-u-md-12-24"> + %= $sort_param->('subject'); + </div> + + </div> + </th> + + <th class="hide-small"> + %= $sort_param->('size'); + </th> + + <th> + <input type=checkbox checked=1 disabled=1> + </th> + </tr> + </thead> + + <tbody> + % foreach my $msgnum ($pgn->{first_item} .. $pgn->{last_item}) { + % my $msg = $msgs->[$msgnum - $pgn->{first_item}]; + + %= tag tr => (class => $msg->{unread} ? 'new-mail' : '') => (id => $msg->{message_handle}) => begin + <td class="hide-small" style="text-align: right"> + %= $msgnum + 1 + </td> + + <td> + <div class="pure-g"> + + <!-- + <div class="pure-u-1-4"> + %# ucfirst($msg->{head}{mime}{content_maintype} eq 'multipart' ? l('yes') : l('no')); + </div> + --> + + <div class="pure-u-1 pure-u-md-4-24"> + % my $date = parse_iso_date $msg->{head}{date}; + %= join('/', $date->{mday}, $date->{month}, $date->{year}) . " $date->{hour}:$date->{min}"; + </div> + + <div class="pure-u-1 pure-u-md-8-24"> + <%= $msg->{head}{sender}[0]{display_name} || $msg->{head}{sender}[0]{address} || + $msg->{head}{from}[0]{display_name} || $msg->{head}{from}[0]{address}; %> + </div> + + <div class="pure-u-1 pure-u-md-12-24"> + %= link_to $msg->{head}{subject} || '_' => read => {id => $msg->{message_handle}} + </div> + + </div> + </td> + + <td class="hide-small" style="text-align: right; white-space: nowrap"> + %= print_sizes10 $msg->{byte_size}; + </td> + + <td> + %= check_box mail => $msg->{message_handle} => (form => 'move-mail') + </td> + % end + + % } + </tbody> + +</table> |