kopia lustrzana https://github.com/simonw/datasette
83 wiersze
3.5 KiB
HTML
83 wiersze
3.5 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ database }}{% if query and query.sql %}: {{ query.sql }}{% endif %}{% endblock %}
|
|
|
|
{% block extra_head %}
|
|
{{ super() }}
|
|
{% if columns %}
|
|
<style>
|
|
@media only screen and (max-width: 576px) {
|
|
{% for column in columns %}
|
|
.rows-and-columns td:nth-of-type({{ loop.index }}):before { content: "{{ column|escape_css_string }}"; }
|
|
{% endfor %}
|
|
}
|
|
</style>
|
|
{% endif %}
|
|
{% include "_codemirror.html" %}
|
|
{% endblock %}
|
|
|
|
{% block body_class %}query db-{{ database|to_css_class }}{% if canned_query %} query-{{ canned_query|to_css_class }}{% endif %}{% endblock %}
|
|
|
|
{% block nav %}
|
|
<p class="crumbs">
|
|
<a href="/">home</a> /
|
|
<a href="{{ database_url(database) }}">{{ database }}</a>
|
|
</p>
|
|
{{ super() }}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1 style="padding-left: 10px; border-left: 10px solid #{{ database_color(database) }}">{{ metadata.title or database }}</h1>
|
|
|
|
{% block description_source_license %}{% include "_description_source_license.html" %}{% endblock %}
|
|
|
|
<form class="sql" action="{{ database_url(database) }}{% if canned_query %}/{{ canned_query }}{% endif %}" method="get">
|
|
<h3>Custom SQL query{% if display_rows %} returning {% if truncated %}more than {% endif %}{{ "{:,}".format(display_rows|length) }} row{% if display_rows|length == 1 %}{% else %}s{% endif %}{% endif %} <span class="show-hide-sql">{% if hide_sql %}(<a href="{{ path_with_removed_args(request, {'_hide_sql': '1'}) }}">show</a>){% else %}(<a href="{{ path_with_added_args(request, {'_hide_sql': '1'}) }}">hide</a>){% endif %}</span></h3>
|
|
{% if not hide_sql %}
|
|
{% if editable and config.allow_sql %}
|
|
<p><textarea id="sql-editor" name="sql">{% if query and query.sql %}{{ query.sql }}{% else %}select * from {{ tables[0].name|escape_sqlite }}{% endif %}</textarea></p>
|
|
{% else %}
|
|
<pre id="sql-query">{% if query %}{{ query.sql }}{% endif %}</pre>
|
|
{% endif %}
|
|
{% else %}
|
|
<input type="hidden" name="sql" value="{% if query and query.sql %}{{ query.sql }}{% else %}select * from {{ tables[0].name|escape_sqlite }}{% endif %}">
|
|
<input type="hidden" name="_hide_sql" value="1">
|
|
{% endif %}
|
|
{% if named_parameter_values %}
|
|
<h3>Query parameters</h3>
|
|
{% for name, value in named_parameter_values.items() %}
|
|
<p><label for="qp{{ loop.index }}">{{ name }}</label> <input type="text" id="qp{{ loop.index }}" name="{{ name }}" value="{{ value }}"></p>
|
|
{% endfor %}
|
|
{% endif %}
|
|
<p>
|
|
<button id="sql-format" type="button" hidden>Format SQL</button>
|
|
<input type="submit" value="Run SQL">
|
|
</p>
|
|
</form>
|
|
|
|
{% if display_rows %}
|
|
<p class="export-links">This data as {% for name, url in renderers.items() %}<a href="{{ url }}">{{ name }}</a>{{ ", " if not loop.last }}{% endfor %}, <a href="{{ url_csv }}">CSV</a></p>
|
|
<table class="rows-and-columns">
|
|
<thead>
|
|
<tr>
|
|
{% for column in columns %}<th class="col-{{ column|to_css_class }}" scope="col">{{ column }}</th>{% endfor %}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for row in display_rows %}
|
|
<tr>
|
|
{% for column, td in zip(columns, row) %}
|
|
<td class="col-{{ column|to_css_class }}">{% if td == None %}{{ " "|safe }}{% else %}{{ td }}{% endif %}</td>
|
|
{% endfor %}
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% else %}
|
|
<p class="zero-results">0 results</p>
|
|
{% endif %}
|
|
|
|
{% include "_codemirror_foot.html" %}
|
|
|
|
{% endblock %}
|