summaryrefslogtreecommitdiffstats
path: root/python/fatcat_web/templates/refs_macros.html
blob: ba4d18ad4ef5103038a15aa015853cd7641ecaff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{% import "entity_macros.html" as entity_macros %}

{% macro pagination_row(hits, direction) %}

  {% if hits.offset %}
    <a href="?offset={{ hits.offset - hits.limit }}">&laquo; prev</a> &nbsp;
  {% endif %}
  Showing {{ hits.offset + 1 }} - {{ hits.offset + hits.count_returned }} of {{ hits.count_total}} references (in {{ hits.query_wall_time_ms }}ms)
  {% if hits.count_total != hits.count_returned and hits.offset + hits.limit < hits.count_total %}
    &nbsp;<a href="?offset={{ hits.offset + hits.limit }}">next &raquo;</a>
  {% endif %}
{% endmacro %}

{% macro refs_table(hits, direction) %}

<table class="ui table">
<thead>
  <tr><th colspan="3">
    {{ pagination_row(hits) }}
</thead>
<tbody>
{% for row in hits.result_refs %}
  {% set release = row.release %}
  <tr><td class="collapsing left aligned top aligned">
        {# TODO: ref_locator? #}
        {% if direction == "out" %}
          {% if row.ref.ref_key %}
            <code title="index={{ row.ref.ref_index }}">[{{ row.ref.ref_key }}]</code><br>
          {% endif %}
        {% endif %}
        <b>{{ row.ref.match_status }}</b><br>
        {% if row.ref.match_provenance %}
          via {{ row.ref.match_provenance }}
        {% endif %}
      <td class="">
        {% if release %}
          {{ entity_macros.release_summary(release) }}
        {% elif direction == "in" and row.ref.source_wikipedia_article %}
          {% set wiki_lang = row.ref.source_wikipedia_article.split(':')[0] %}
          {% set wiki_article = ':'.join(row.ref.source_wikipedia_article.split(':')[1:]) %}
          <b>
            <a href="https://{{ wiki_lang }}.wikipedia.org/wiki/{{ wiki_article.replace(' ', '_') }}">
              {{ wiki_article }}
            </a>
            [wikipedia]
          </b>
          <br>
          <span style="color:green;">lang:{{ wiki_lang }}</span>&nbsp;
          <a href="/wikipedia/{{ wiki_lang }}:{{ wiki_article.replace(' ', '_') }}/refs-out" style="color:green;">[references]</a>&nbsp;
        {% elif direction == "out" and row.ref.target_unstructured %}
          <code>{{ row.ref.target_unstructured }}</code>
          {% if row.ref.target_openlibrary_work %}
            <br>
            <a href="https://openlibrary.org/{{ row.ref.target_openlibrary_work }}" style="color:green;">openlibrary:{{ row.ref.target_openlibrary_work }}</a>&nbsp;
            <a href="/openlibrary/{{ row.ref.target_openlibrary_work}}/refs-in" style="color:green;">[cited-by]</a>&nbsp;
          {% endif %}
        {% elif direction == "in" and row.ref.target_csl %}
          {{ entity_macros.csl_summary(row.ref.target_csl) }}
        {% else %}
          <i>blank</i>
        {% endif %}
      <td class="center aligned">
        {% if row.access %}
          {% for access in row.access %}
            <a href="{{ access.access_url}}" class="ui tiny green active button">
              {%- if access.access_type.name == "wayback" %}
                web.archive.org
              {%- elif access.access_type.name == "ia_file" -%}
                archive.org
              {%- else -%}
                {{ access.access_type.name }}
              {%- endif -%}
              {%- if access.mimetype == "application/pdf" %}
                [PDF]
              {%- elif access.mimetype == "text/html" %}
                [HTML]
              {%- endif -%}
            </a>
            <br>
          {% endfor %}
        {% elif direction == "out" and row.ref.target_unstructured %}
          <form class="ui form" id="reference_match" method="POST" action="/reference/match">
            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
            <input type="hidden" name="raw_citation" value="{{ row.ref.target_unstructured }}">
            <button class="ui tiny primary submit button" type="submit" name="submit_type" value="parse">
              parse
            </button>
          </form>
        {% endif %}
{% endfor %}
</tbody>
{% if hits.count_total != hits.count_returned %}
  <tfoot>
    <tr><th colspan="3">
      {{ pagination_row(hits) }}
  </tfoot>
{% endif %}
</table>
{% endmacro %}