@extends('layouts.app') @section('title', 'Data Jalan (Ruas Jalan) — ' . config('app.name', 'Website Pemetaan PJU')) @section('content') @php $base = rtrim(request()->getBasePath(), '/'); $hasActiveFilter = request()->filled('q') || request()->filled('kecamatan_id'); @endphp {{-- Page Header --}} {{-- Alert --}} @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if(isset($error) && $error)
{{ $error }}
@endif {{-- Filter & pencarian --}}
{{-- GeoJSON: Sync file → DB (Import folder & Regenerate file sementara tidak dipakai) --}} {{--
GeoJSON:
@csrf
@csrf
@csrf
Sync: isi kolom geojson/titik pangkal/ujung di DB dari file ruas_jalan.geojson (match nomor_ruas). Agar detail ruas tampil polyline.
--}} @if ($items->isEmpty())
@if ($hasActiveFilter)

Tidak ada data yang cocok dengan pencarian atau filter kecamatan.

Ubah kata kunci / kecamatan atau kosongkan filter.

Tampilkan semua data @else

Belum ada data ruas jalan.

Tambah data jalan untuk mengelola ruas dan titik PJU di peta.

Tambah Sekarang @endif
@else {{-- Info Count --}}

Menampilkan {{ $items->firstItem() ?? 0 }}{{ $items->lastItem() ?? 0 }} dari {{ $items->total() }} data jalan

{{-- Table --}}
{{-- Head --}} {{-- Body --}} @foreach ($items as $index => $item) @php $isEven = $index % 2 === 0; $no = ($items->currentPage() - 1) * $items->perPage() + $index + 1; $kp = (string) ($item->kode_prov ?? ''); $kk = (string) ($item->kode_kota ?? ''); $nrRaw = trim((string) ($item->getRawOriginal('nomor_ruas') ?? '')); if ($nrRaw === '' && $kp === '' && $kk === '') { $nomorRuasTampil = '–'; } else { $nrSeg = $nrRaw !== '' && ctype_digit($nrRaw) ? str_pad($nrRaw, 4, '0', STR_PAD_LEFT) : ($nrRaw !== '' ? $nrRaw : ''); $seg = array_values(array_filter([$kp, $kk, $nrSeg], fn ($v) => $v !== null && $v !== '')); $nomorRuasTampil = count($seg) ? implode('.', $seg) : '–'; } $pj = $item->panjang_jalan; $panjangTampil = ($pj !== null && $pj !== '') ? number_format((float) str_replace(',', '.', (string) $pj), 3, '.', '') : '–'; @endphp {{-- No --}} {{-- Nama Jalan --}} {{-- Nomor Ruas: kode_prov.kode_kota.nomor (nomor numerik → 4 digit, contoh 35.10.0001) --}} {{-- Panjang Jalan: 3 angka di belakang koma --}} {{-- Status --}} {{-- Kecamatan --}} {{-- JML PJU --}} {{-- Aksi --}} @endforeach
# Nama Jalan Nomor Ruas Panjang Jalan (km) Status Kecamatan JML PJU Aksi
{{ $no }} {{ $item->nama_jalan ?? '–' }} {{ $nomorRuasTampil }}{{ $panjangTampil }} @if($item->status_jalan) {{ $item->status_jalan }} @else @endif {{ $item->kecamatanRel?->nama ?? '–' }} {{ (int) ($item->pju_count ?? 0) }}
@if(!empty($item->has_maps) && !empty($item->google_maps_url)) @else @endif
@csrf @method('DELETE')
{{-- Pagination bawah, mepet kanan --}} @if($items->hasPages())
{{ $items->links() }}
@endif @endif @endsection