@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => 'Show']) @php // fallback alias dari controller $komposisi = $komposisi ?? ($list ?? null); $details = $details ?? ($detail_rows ?? []); use Illuminate\Support\Facades\DB; // Datalist kategori (untuk tampilan konsisten, meski readonly) $kategoriList = DB::table('mst_kategori') ->orderBy('kategori') ->pluck('kategori') ->map(fn($v) => trim($v)) ->unique(fn($v) => mb_strtolower($v)) ->sort() ->values(); // normalizer $norm = fn($s) => mb_strtolower(preg_replace('/\s+/u', ' ', trim((string) $s))); // Filter detail: sembunyikan baris khusus SAP Core (tipe=fes, layer null/“sap core”, kategori ‘SAP Core’) $rowsForShow = collect($details) ->map(fn($r) => is_array($r) ? (object) $r : $r) ->filter(function ($r) use ($norm) { $tipe = $norm($r->tipe ?? ''); $layer = isset($r->layer) ? $norm($r->layer) : null; $kat = $norm($r->kategori ?? ''); $isSapCore = $tipe === 'fes' && ($layer === 'sap core' || ($r->layer === null && $kat === 'sap core')); return !$isSapCore; }) ->sortBy(fn($r) => is_numeric($r->id ?? null) ? (int) $r->id : PHP_INT_MAX) ->values(); @endphp
{{-- ACTION BAR --}}
@if (isset($komposisi->id)) Edit @endif
{{-- HEADER KOMPOSISI --}}
Header Komposisi
{{-- Nama Customer --}}
{{-- DETAIL KOMPOSISI (sesuai Add/Edit: Tipe, Kategori, GSM) --}}
Detail Komposisi
{{-- optional: datalist untuk konsistensi tampilan --}} @foreach ($kategoriList as $k) @endforeach @forelse ($rowsForShow as $row) @empty @endforelse
Tipe Kategori GSM
Belum ada detail komposisi.
@endsection