Files
komp_ac/web/templates/pages/analytics/catalog.html
2026-08-14 20:35:37 +02:00

45 lines
2.1 KiB
HTML

{# POST /api/catalog — crate::pages::analytics::ui::CatalogFragment #}
{% if tables.is_empty() %}
<p class="hint">{{ nav.tr("analytics-no-tables") }}</p>
{% else %}
<p class="schema-summary">{{ nav.tr_count("analytics-tables-available", "count", tables.len() as i64) }}</p>
<div class="catalog-tables">
{% for table in tables %}
<details class="catalog-table">
<summary>
<code>{{ table.name }}</code>
</summary>
<button type="button" class="starter-query" data-sql="{{ table.starter_query }}"
x-on:click="sql = $el.dataset.sql; $refs.sql.focus()">{{ nav.tr("analytics-use-starter") }}</button>
<ul class="columns">
{% for column in table.columns %}
<li>
<button type="button" class="column-name" data-insert="{{ column.insert_text }}"
x-on:click="$refs.sql.setRangeText($el.dataset.insert, $refs.sql.selectionStart, $refs.sql.selectionEnd, 'end'); sql = $refs.sql.value; $refs.sql.focus()">{{ column.name }}</button>
<span>{{ column.details }}</span>
</li>
{% endfor %}
</ul>
{% if !table.links.is_empty() %}
<div class="links">
<span>{{ nav.tr("analytics-links") }}</span>
<ul>
{% for link in table.links %}
<li><code>{{ link.source_column }}</code><code>{{ link.linked_table }}</code>{% if link.required %} ({{ nav.tr("analytics-required") }}){% endif %}</li>
{% endfor %}
</ul>
</div>
{% endif %}
</details>
{% endfor %}
</div>
<details class="llm-context">
<summary>{{ nav.tr("analytics-llm-context") }}</summary>
<p class="hint">{{ nav.tr("analytics-llm-hint") }}</p>
<textarea x-ref="llmSchema" readonly>{{ llm_context }}</textarea>
<button type="button" class="secondary"
x-on:click="navigator.clipboard.writeText($refs.llmSchema.value); copied = true">{{ nav.tr("analytics-copy-context") }}</button>
<span class="hint" x-show="copied" x-cloak>{{ nav.tr("analytics-copied") }}</span>
</details>
{% endif %}