{# index.html — ダッシュボードホームページ。 base.html を継承する。base.html の共通コンテキストに加えて受け取る変数: dashboard_json : str — JSON文字列。{columns, views:[{name,title,chart}]} list_views : list — chart なしビューの nav_groups と同形式 nav_groups : list — 全ビューのグループ一覧 has_kiosk : bool has_kpis : bool refresh_interval_ms : int form_tables : list[str] #} {% extends "base.html" %} {% block content %} {# ステータスサマリー行(U00 §6 の契約どおり。dashboard.js が /api/alerts を描画) #}
{# KPIサマリーカード(フェーズ2・E)。has_kpis 時のみ #} {% if has_kpis %}
{% endif %}

ダッシュボード

{% if has_kiosk %} 📺 大型表示(Andon) {% endif %}
{# ミニチャートグリッド。dashboard_json に chart 付きビューがある場合のみ表示 #}
{# chart なしビューのリンク一覧(グループ見出し付き) #} {% set has_list_views = list_views | selectattr("views") | list | length > 0 %} {% if has_list_views %}

ビュー一覧

{% for group in list_views %} {% if group.views %} {% if group.group %}

{{ group.group }}

{% endif %} {% endif %} {% endfor %} {% endif %} {# ビューが 1 つもない場合は config 誘導を表示 #} {% if not views %}

表示できるビューがありません。config.py の views を定義してください。

{% endif %} {# データ入力(フェーズ3・F)。既存のまま維持 #} {% if form_tables %}

データ入力

{% endif %} {% endblock %} {% block scripts %} {% if has_kpis %} {% endif %} {# dashboard-config の views が 1 件以上あるときだけ Chart.js と chart-view.js を読み込む #} {% endblock %}