fix: use direct onclick handlers for run rows #18
@@ -51,7 +51,7 @@
|
|||||||
<thead><tr><th class="table__head">ID</th><th class="table__head">Статус</th><th class="table__head">Обработано</th><th class="table__head">Ошибки</th><th class="table__head">Старт</th></tr></thead>
|
<thead><tr><th class="table__head">ID</th><th class="table__head">Статус</th><th class="table__head">Обработано</th><th class="table__head">Ошибки</th><th class="table__head">Старт</th></tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for run in runs %}
|
{% for run in runs %}
|
||||||
<tr class="table__row" data-row-href="/admin/runs/{{ run.id }}" role="link" tabindex="0"><td class="table__cell">{{ run.id }}</td><td class="table__cell">{{ run.status_display }}</td><td class="table__cell">{{ run.parsed_count }}</td><td class="table__cell">{{ run.error_count }}</td><td class="table__cell">{{ run.started_display }}</td></tr>
|
<tr class="table__row" onclick="window.location.href='/admin/runs/{{ run.id }}'" onkeydown="if (event.key === 'Enter' || event.key === ' ') { event.preventDefault(); window.location.href='/admin/runs/{{ run.id }}'; }" role="link" tabindex="0"><td class="table__cell">{{ run.id }}</td><td class="table__cell">{{ run.status_display }}</td><td class="table__cell">{{ run.parsed_count }}</td><td class="table__cell">{{ run.error_count }}</td><td class="table__cell">{{ run.started_display }}</td></tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
<thead><tr><th class="table__head">ID</th><th class="table__head">Статус</th><th class="table__head">Найдено</th><th class="table__head">Обработано</th><th class="table__head">Новые</th><th class="table__head">Ошибки</th><th class="table__head">Уволены</th><th class="table__head">Старт</th></tr></thead>
|
<thead><tr><th class="table__head">ID</th><th class="table__head">Статус</th><th class="table__head">Найдено</th><th class="table__head">Обработано</th><th class="table__head">Новые</th><th class="table__head">Ошибки</th><th class="table__head">Уволены</th><th class="table__head">Старт</th></tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for run in runs %}
|
{% for run in runs %}
|
||||||
<tr class="table__row" data-row-href="/admin/runs/{{ run.id }}" role="link" tabindex="0"><td class="table__cell">{{ run.id }}</td><td class="table__cell">{{ run.status_display }}</td><td class="table__cell">{{ run.found_count }}</td><td class="table__cell">{{ run.parsed_count }}</td><td class="table__cell">{{ run.new_count }}</td><td class="table__cell">{{ run.error_count }}</td><td class="table__cell">{{ run.dismissed_count }}</td><td class="table__cell">{{ run.started_display }}</td></tr>
|
<tr class="table__row" onclick="window.location.href='/admin/runs/{{ run.id }}'" onkeydown="if (event.key === 'Enter' || event.key === ' ') { event.preventDefault(); window.location.href='/admin/runs/{{ run.id }}'; }" role="link" tabindex="0"><td class="table__cell">{{ run.id }}</td><td class="table__cell">{{ run.status_display }}</td><td class="table__cell">{{ run.found_count }}</td><td class="table__cell">{{ run.parsed_count }}</td><td class="table__cell">{{ run.new_count }}</td><td class="table__cell">{{ run.error_count }}</td><td class="table__cell">{{ run.dismissed_count }}</td><td class="table__cell">{{ run.started_display }}</td></tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
APP_VERSION = "0.4.3"
|
APP_VERSION = "0.4.4"
|
||||||
FRONTEND_VERSION = "0.4.3"
|
FRONTEND_VERSION = "0.4.4"
|
||||||
BACKEND_VERSION = "0.4.3"
|
BACKEND_VERSION = "0.4.4"
|
||||||
|
|||||||
@@ -45,9 +45,11 @@ def test_dashboard_limits_latest_runs_to_five():
|
|||||||
def test_runs_template_links_to_run_detail():
|
def test_runs_template_links_to_run_detail():
|
||||||
template = Path("app/templates/runs.html").read_text(encoding="utf-8")
|
template = Path("app/templates/runs.html").read_text(encoding="utf-8")
|
||||||
|
|
||||||
assert 'data-row-href="/admin/runs/{{ run.id }}"' in template
|
assert 'onclick="window.location.href=\'/admin/runs/{{ run.id }}\'"' in template
|
||||||
|
assert "onkeydown=\"if (event.key === 'Enter' || event.key === ' ')" in template
|
||||||
assert 'role="link"' in template
|
assert 'role="link"' in template
|
||||||
assert 'tabindex="0"' in template
|
assert 'tabindex="0"' in template
|
||||||
|
assert 'data-row-href="/admin/runs/{{ run.id }}"' not in template
|
||||||
assert '<a class="admin__link" href="/admin/runs/{{ run.id }}">' not in template
|
assert '<a class="admin__link" href="/admin/runs/{{ run.id }}">' not in template
|
||||||
|
|
||||||
|
|
||||||
@@ -75,9 +77,11 @@ def test_dashboard_metric_cards_link_to_admin_targets():
|
|||||||
def test_dashboard_latest_run_rows_link_to_run_detail():
|
def test_dashboard_latest_run_rows_link_to_run_detail():
|
||||||
template = Path("app/templates/dashboard.html").read_text(encoding="utf-8")
|
template = Path("app/templates/dashboard.html").read_text(encoding="utf-8")
|
||||||
|
|
||||||
assert 'data-row-href="/admin/runs/{{ run.id }}"' in template
|
assert 'onclick="window.location.href=\'/admin/runs/{{ run.id }}\'"' in template
|
||||||
|
assert "onkeydown=\"if (event.key === 'Enter' || event.key === ' ')" in template
|
||||||
assert 'role="link"' in template
|
assert 'role="link"' in template
|
||||||
assert 'tabindex="0"' in template
|
assert 'tabindex="0"' in template
|
||||||
|
assert 'data-row-href="/admin/runs/{{ run.id }}"' not in template
|
||||||
assert '<a class="admin__link" href="/admin/runs/{{ run.id }}">' not in template
|
assert '<a class="admin__link" href="/admin/runs/{{ run.id }}">' not in template
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ def test_health_returns_versions():
|
|||||||
response = client.get("/api/health")
|
response = client.get("/api/health")
|
||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert response.json()["backend_version"] == "0.4.3"
|
assert response.json()["backend_version"] == "0.4.4"
|
||||||
|
|
||||||
|
|
||||||
def test_mcp_requires_token_and_lists_tools():
|
def test_mcp_requires_token_and_lists_tools():
|
||||||
|
|||||||
Reference in New Issue
Block a user