@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:
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 --}}
| # |
Nama Jalan |
Nomor Ruas |
Panjang Jalan (km) |
Status |
Kecamatan |
JML PJU |
Aksi |
{{-- 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 --}}
| {{ $no }} |
{{-- Nama Jalan --}}
{{ $item->nama_jalan ?? '–' }}
|
{{-- Nomor Ruas: kode_prov.kode_kota.nomor (nomor numerik → 4 digit, contoh 35.10.0001) --}}
{{ $nomorRuasTampil }} |
{{-- Panjang Jalan: 3 angka di belakang koma --}}
{{ $panjangTampil }} |
{{-- Status --}}
@if($item->status_jalan)
{{ $item->status_jalan }}
@else
–
@endif
|
{{-- Kecamatan --}}
{{ $item->kecamatanRel?->nama ?? '–' }} |
{{-- JML PJU --}}
{{ (int) ($item->pju_count ?? 0) }}
|
{{-- Aksi --}}
@if(!empty($item->has_maps) && !empty($item->google_maps_url))
@else
@endif
|
@endforeach
{{-- Pagination bawah, mepet kanan --}}
@if($items->hasPages())
{{ $items->links() }}
@endif
@endif
@endsection