blob: 14a554a495e7d84c722cfac0f3160a7a8a91d0cd [file] [log] [blame]
% use Mojo::JSON qw/encode_json/;
% my $match = stash('match') || {};
% my %match_data = %$match;
% delete @match_data{qw/snippet startMore endMore field/};
% my $text_sigle = $match->{textSigle} // join('/', $match->{corpusID}, $match->{docID}, $match->{textID});
% my $id = $text_sigle . '#' . $match->{matchID};
<li data-match-id="<%= $match->{matchID} %>"
data-text-sigle="<%= $text_sigle %>"
%# TODO: This needs to be retrieved per match
data-available-info="<%= $match->{layerInfos} // $match->{layerInfo} // 'cnx/c=spans corenlp/ne=tokens corenlp/p=tokens mate/l=tokens mate/m=tokens mate/p=tokens opennlp/p=tokens tt/l=tokens tt/p=tokens xip/c=spans' %>"
data-info="<%== b(encode_json(\%match_data))->decode->xml_escape %>"
id="<%= $id %>"\
<% if (current_route eq 'match') { %> class="active"<% } =%>>
%# This should be done using JavaScript
% my ($show_sigle, $flip) = ('', stash('flip') // 'flip');
% if ($text_sigle ne stash('last_sigle')) {
% $show_sigle = $text_sigle;
% stash(last_sigle => $text_sigle);
% $flip = $flip eq 'flip' ? 'flop' : 'flip';
% stash(flip => $flip);
% }
<div class="meta <%= $flip %>"><%= $show_sigle %></div>
<div class="match-main">
<div class="match-wrap">
%# --- Snippet
<div class="snippet<%= $match->{startMore} ? ' startMore' : '' %><%= $match->{endMore} ? ' endMore' : '' %>"><%== $match->{snippet} %></div>
</div>
</div>
%# -- Reference string
<p class="ref">\
<% if ($match->{title}) { %><strong><%= $match->{title} %></strong><% }; %>\
<%= $match->{author} ? ' ' . loc('by') . ' ' . $match->{author} : '' %>\
% if ($match->{pubDate}) {
(<time datetime="<%= $match->{pubDate} %>"><%= $match->{pubDate} %></time>)\
% };
<span class="sigle">[<%= $text_sigle %>]</span> \
</p>
</li>