/;
use File::Type::WebImages ();
+use JSON::XS qw(encode_json);
sub base : Chained('/fragment/repository/find') PathPart('') CaptureArgs(0) {}
);
};
+after file_commit_info => sub {
+ my ($self, $c) = @_;
+
+ my $repository = $c->stash->{Repository};
+
+ my($commit) = $repository->list_revs(
+ sha1 => $c->stash->{Commit}->sha1,
+ count => 1,
+ file => $c->stash->{filename},
+ );
+
+ my $json_obj = $commit
+ ? { sha1 => $commit->sha1, comment => $c->stash->{short_cmt}->($commit->comment) }
+ : { };
+
+ $c->response->content_type('application/json');
+ # XXX Make use of the json branch
+ $c->response->body( encode_json $json_obj );
+};
+
__PACKAGE__->meta->make_immutable;
+<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+<script>
+// Wait for image requests to come back first - $(function() {
+$(window).load(function() {
+ $('#commit-tree .message').each(function() {
+ var cell = $(this);
+ var filename = cell.parent().find('.file-name').text();
+ $.getJSON('/fragment/Gitalist/[% Commit.sha1 %]/file_commit_info/'+filename, {}, function(commitInfo) {
+ cell.empty();
+ cell.html('<a href="/Gitalist/"'+commitInfo.sha1+'">'+commitInfo.comment+'</a>');
+ });
+ });
+});
+</script>
+
[% 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;
[% 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">Loading commit info ...</td>
</tr>
[% counter = counter + 1 %]
[% END %]
-<table class="listing">
+<table class="listing" id="commit-tree">
<thead>[% PROCESS tree_table_headfoot type = 'head' %]</thead>
<tbody>
[% INCLUDE output_tree tree_type => tree_folders %]