mirror of
https://github.com/simonw/datasette.git
synced 2026-05-31 14:16:59 +02:00
Show query count on database page
This commit is contained in:
parent
6033bf8e40
commit
5dca2dc9be
3 changed files with 24 additions and 7 deletions
|
|
@ -59,7 +59,7 @@
|
|||
{% endfor %}
|
||||
</ul>
|
||||
{% if queries_more %}
|
||||
<p><a href="{{ urls.database(database) }}/-/queries">View all queries</a></p>
|
||||
<p><a href="{{ urls.database(database) }}/-/queries">View {{ "{:,}".format(queries_count) }} quer{% if queries_count == 1 %}y{% else %}ies{% endif %}</a></p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
|
|
|||
|
|
@ -102,6 +102,11 @@ class DatabaseView(View):
|
|||
)
|
||||
canned_queries = queries_page["queries"]
|
||||
queries_more = queries_page["has_more"]
|
||||
queries_count = (
|
||||
await datasette.count_queries(database, actor=request.actor)
|
||||
if queries_more
|
||||
else len(canned_queries)
|
||||
)
|
||||
|
||||
async def database_actions():
|
||||
links = []
|
||||
|
|
@ -134,6 +139,7 @@ class DatabaseView(View):
|
|||
"views": sql_views,
|
||||
"queries": canned_queries,
|
||||
"queries_more": queries_more,
|
||||
"queries_count": queries_count,
|
||||
"allow_execute_sql": allow_execute_sql,
|
||||
"table_columns": (
|
||||
await _table_columns(datasette, database) if allow_execute_sql else {}
|
||||
|
|
@ -168,6 +174,7 @@ class DatabaseView(View):
|
|||
views=sql_views,
|
||||
queries=canned_queries,
|
||||
queries_more=queries_more,
|
||||
queries_count=queries_count,
|
||||
allow_execute_sql=allow_execute_sql,
|
||||
table_columns=(
|
||||
await _table_columns(datasette, database)
|
||||
|
|
@ -219,6 +226,7 @@ class DatabaseContext(Context):
|
|||
queries_more: bool = field(
|
||||
metadata={"help": "Boolean indicating if more saved queries are available"}
|
||||
)
|
||||
queries_count: int = field(metadata={"help": "Count of visible saved queries"})
|
||||
allow_execute_sql: bool = field(
|
||||
metadata={"help": "Boolean indicating if custom SQL can be executed"}
|
||||
)
|
||||
|
|
@ -775,7 +783,15 @@ async def _query_create_analysis_data(datasette, db, sql, actor):
|
|||
|
||||
|
||||
async def _query_create_form_context(
|
||||
datasette, request, db, *, sql="", name="", title="", description="", is_private=True
|
||||
datasette,
|
||||
request,
|
||||
db,
|
||||
*,
|
||||
sql="",
|
||||
name="",
|
||||
title="",
|
||||
description="",
|
||||
is_private=True,
|
||||
):
|
||||
analysis_data = await _query_create_analysis_data(datasette, db, sql, request.actor)
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -458,9 +458,10 @@ async def test_database_page_query_preview_is_limited():
|
|||
assert html_response.status_code == 200
|
||||
assert "Demo query 05" in html_response.text
|
||||
assert "Demo query 06" not in html_response.text
|
||||
assert 'href="/data/-/queries"' in html_response.text
|
||||
assert '<a href="/data/-/queries">View 25 queries</a>' in html_response.text
|
||||
assert len(json_response.json()["queries"]) == 5
|
||||
assert json_response.json()["queries_more"] is True
|
||||
assert json_response.json()["queries_count"] == 25
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
@ -1017,7 +1018,7 @@ async def test_create_query_ui_and_arbitrary_sql_save_link():
|
|||
'<input id="query-url-slug" name="name" type="text" value="">'
|
||||
in create_response.text
|
||||
)
|
||||
assert 'function slugify(value)' in create_response.text
|
||||
assert "function slugify(value)" in create_response.text
|
||||
assert 'data-analyze-url="/data/-/queries/analyze"' in create_response.text
|
||||
assert "setupSqlParameterRefresh" in create_response.text
|
||||
assert "renderParameters: false" in create_response.text
|
||||
|
|
@ -1039,9 +1040,9 @@ async def test_create_query_ui_and_arbitrary_sql_save_link():
|
|||
)
|
||||
== 2
|
||||
)
|
||||
assert create_response.text.index('value="Save query"') < create_response.text.index(
|
||||
"<h2>Query operations</h2>"
|
||||
)
|
||||
assert create_response.text.index(
|
||||
'value="Save query"'
|
||||
) < create_response.text.index("<h2>Query operations</h2>")
|
||||
assert blank_create_response.status_code == 200
|
||||
assert (
|
||||
'<div class="query-create-analysis" id="query-create-analysis-section" hidden>'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue