[% BLOCK tree_table_headfoot %]
[% SET cell = type == 'head' ? 'th' : 'td' %]
<tr>
<[% cell %]>Mode</[% cell %]>
<[% cell %]>Folder / File</[% cell %]>
<[% cell %]>Actions</[% cell %]>
<[% cell %]>Message</[% cell %]>
</tr>
[% END %]
[%-
SET counter = 1;
# sort files and folders
SET tree_files = [];
SET tree_folders = [];
FOREACH item IN tree_list;
IF item.type == "blob";
tree_files.push(item);
ELSE;
tree_folders.push(item);
END;
END;
%]
[% BLOCK output_tree %]
[% FOREACH item IN tree_type.sort('file') %]
<tr [% "class='invert'" IF counter % 2 %]>
<td class='file-mode'>[% item.modestr %]</td>
[%-
action_type = item.type == 'tree' ? 'tree' : 'blob';
action_for_link = item.type == 'tree' ? '/ref/tree' : '/ref/blob';
blob_or_tree_link = c.uri_for_action(action_for_link, c.req.captures, c.req.args.to_path(item.file))
-%]
<td class="file-name"><a href="[% blob_or_tree_link %]" class="[% item.type == 'blob' ? 'file' : 'folder' %]">[% item.file %]</a></td>
<td class='action-list'>
<a href="[% blob_or_tree_link %]">[% theact %]</a>
[% IF item.type == 'blob' %]
<a href="[% c.uri_for_action('/ref/blob', c.req.captures, c.req.args.to_path(item.file)) %]" title="Blob" class="button blob">Blob</a>
<a href="[% c.uri_for_action('/ref/raw', c.req.captures, c.req.args.to_path(item.file)) %]" title="Raw" class="button raw">raw</a>
<a href="[% c.uri_for_action('/ref/blame', c.req.captures, c.req.args.to_path(item.file)) %]" title="Blame" class="button blame">blame</a>
[% END %]
<a href="[% c.uri_for_action('/ref/history', c.req.captures, c.req.args.to_path(item.file)) %]" title="History (Short log)" class="button shortlog">Short log</a>
</td>
<td class="message"><span class='js-data'>[% c.req.args.to_path(item.file) %]</span>Loading commit info ...</td>
</tr>
[% counter = counter + 1 %]
[% END %]
[% END %]
<table class="listing" id="commit-tree">
<thead>[% PROCESS tree_table_headfoot type = 'head' %]</thead>
<tbody>
[% INCLUDE output_tree tree_type => tree_folders %]
[% PROCESS output_tree tree_type => tree_files %]
</tbody>
</table>
<span id='file_commit_info-uri' class='js-data'>[% c.uri_for_action('/fragment/ref/file_commit_info', [ Repository.name, Commit.sha1 ]) %]</span>
<span id='commit-uri' class='js-data'>[% c.uri_for_action('/ref/commit', [Repository.name, 'HEAD']) %]</span>