aboutsummaryrefslogtreecommitdiffstats
path: root/python/fatcat_web/templates/entity_macros.html
blob: 77d4ff8186a72218ab5bca01cf6dec3b5f60c8cd (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

{% macro fatcat_bits(entity, entity_type, expand="", editgroup=None) -%}

{% if entity.state == None and editgroup.editgroup_id %}
<div class="ui segment pink inverted attached">
  <b>Edit In Progress</b>
  <p>You are viewing this entity as of a specific editgroup (which may or may not have been merged yet):
  <b><a href="/editgroup/{{ editgroup.editgroup_id }}">{{ editgroup.editgroup_id }}</a></b>
</div>
{% elif entity.state == None and entity.ident == None %}
<div class="ui segment pink inverted attached">
  <b>Revision</b>
  <p>You are viewing a specific revision of an entity.
</div>
{% elif entity.state == "wip" %}
<div class="ui segment pink inverted attached">
  <b>Work In Progress</b>
  <p>This entity has not been "accepted" into the official database yet.
</div>
{% endif %}

<div class="ui segment attached">
  <b>Fatcat Bits</b>
  <p>State is "{{ entity.state }}".
  {% if entity.state != "deleted" %}
    Revision:
    <br><small><code>{{ entity.revision }}</code></small>
  {% endif %}
  <br><a href="{% if config.FATCAT_DOMAIN == 'dev.fatcat.wiki' %}http://localhost:9411{% else %}https://api.{{ config.FATCAT_DOMAIN }}{% endif %}/v0/{{ entity_type }}/{{ entity.ident }}{% if expand %}?expand={{ expand}}{% endif %}">As JSON object via API</a>
</div>

<div class="two ui buttons bottom attached">
  <a href="{% if editgroup %}/editgroup/{{ editgroup.editgroup_id }}{% endif %}/{{ entity_type }}/{{ entity.ident }}/edit" class="ui blue button">Edit Metadata</a>
  <a href="/{{ entity_type }}/{{ entity.ident }}/history" class="ui button">View History</a>
</div>
{%- endmacro %}


{% macro extra_metadata(extra) -%}
<table class="ui definition single line fixed compact small unstackable table">
<tbody>
{% for (key, value) in extra.items()|sort %}
  {% if key in ("ia", "crossref", "kbart", "arxiv", "jstor", "pubmed") and value is mapping and value %}
    {% for (inner_key, inner_value) in value.items()|sort %}
      <tr><td class="three wide right aligned"><code>{{ key }}.{{ inner_key }}</code></td>
          <td class="seven wide"><code>{{ inner_value }}</code>
    {% endfor %}
  {% elif key in ("urls") and value and value is iterable and value is not string %}
    <tr><td class="three wide right aligned"><code>{{ key }}</code></td>
        <td class="seven wide">
          <code>
          {% for u in value %}
            <a href="{{ u }}">{{ u }}</a><br>
          {% endfor %}
          </code>
  {% else %}
    <tr><td class="three wide right aligned"><code>{{ key }}</code></td>
        <td class="seven wide"><code>{{ value }}</code>
  {% endif %}
{% endfor %}
</tbody>
</table>
{%- endmacro %}


{% macro release_list(releases) -%}
<table class="ui very basic celled table">
<tbody>
{% for release in releases %}
  <tr><td class="collapsing center aligned">
        {% if release.release_date %}{{ release.release_date }}{% elif release.release_year %}{{ release.release_year }}{% else %}<i>unknown</i>{% endif %}
      <td class="">
        <b><a href="/release/{{ release.ident }}">{{ release.title }}</a></b>
        <br><small>{{ release.release_stage or "unknown status" }}
            | {{ release.release_type or "unknown type" }}
            {% if release.version %} | {{ release.version }}{% endif %}
            {% if release.license_slug %} | {{ release.license_slug }}{% endif %}
        </small>
        {% if release.ext_ids.doi %}
          <br><a href="https://doi.org/{{ release.ext_ids.doi }}" style="color:green;">doi:{{ release.ext_ids.doi }}</a>
        {% endif %}
{% endfor %}
</tbody>
</table>
{%- endmacro %}


{% macro url_list(urls, wayback_suffix="") -%}
<table class="ui very basic compact single line fixed table">
<tbody>
  {% for url in urls %}
    {% if url.rel == "wayback" %}
      {% set suffix = wayback_suffix %}
    {% else %}
      {% set suffix = "" %}
    {% endif %}
    {% set entity = release %}
    <tr><td class="two wide right aligned">{{ url.rel }}
        <td class="eight wide"><small><code><a href="{{ url.url }}{{ suffix }}">
        {% if url.url.count('/') >= 3 and url.rel != "dweb" %}
          {{ '/'.join(url.url.split('/')[0:2]) }}/<b>{{ ''.join(url.url.split('/')[2]) }}</b>/{{ '/'.join(url.url.split('/')[3:]) }}{{ suffix }}
        {% else %}
          {{ url.url }}{{ suffix }}
        {% endif %}
        </a></code></small>
  {% endfor %}
</tbody>
</table>
{%- endmacro %}

{% macro lookup_form(entity_type, key, example, lookup_key, lookup_value, lookup_error) -%}
<form class="ui form" role="search" action="/{{ entity_type }}/lookup" method="get">
  <div class="ui form">
    <div class="field {% if key == lookup_key %}{% if lookup_error == 400 %}error{% elif lookup_error == 404 %}warning{% endif %}{% endif %}">
      {% if key == lookup_key and lookup_error == 400 %}
        <div class="ui pointing below red label">
          Not correct syntax. Expected, eg, {{ example }}
        </div>
      {% endif %}
      <div class="ui action input big fluid">
        <input type="text" placeholder="{% if example %}eg, {{ example }}{% endif %}" name="{{ key }}" value="{% if key == lookup_key %}{{ lookup_value }}{% endif %}" aria-label="{{ key }} lookup">
        <button class="ui button">Go!</button>
      </div>
    </div>
  </div>
</form>
{%- endmacro %}