{{-- Expects: $months, $groupedRows (Team => Category => rows), $showOwner (bool) --}} @php($totalCols = count($months) + 1 + ($showOwner ? 1 : 0)) @if (empty($groupedRows))
Nothing to show yet — KPIs and projects will appear here automatically.
@else
@if ($showOwner) @endif @foreach ($months as $month) @endforeach @foreach ($groupedRows as $teamName => $categories) @foreach ($categories as $categoryName => $rows) @foreach ($rows as $row) @php($item = $row['item']) @if ($showOwner) @endif @foreach ($months as $month) @php($cell = $row['cells'][$month['key']] ?? null) @endforeach @if ($row['type'] === 'project') @else @endif @endforeach @endforeach @endforeach
ItemOwner{{ $month['label'] }}
{{ $teamName }}
{{ $categoryName }}
@if ($row['type'] === 'kpi') {{ $item->name }} {{ $item->thresholdSummary() }} @else {{ $item->name }} Project @endif {{ $item->user->name }} @if ($cell && $row['type'] === 'project') @elseif ($cell) {{ $cell['display'] }} @else @endif

Each cell shows the most recent entry in that month. The current month is highlighted. Click a KPI row to expand its trend chart; click a project row for its latest details, or a specific cell for that month.

{{-- Floating note tooltip + leader line (one singleton shared by every chart on the page) --}} @endif