@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) {{-- section content --}} @section('content') @include('layouts.navbars.auth.topnav', ['title' => ''])
@csrf @method('PUT')

Edit {{ $title_menu }}


{{-- retrieve table header --}} @foreach ($table_header as $header) @php $primary = false; $generateid = false; foreach ($table_primary as $p) { $primary == false ? ($p->field == $header->field ? ($primary = true) : ($primary = false)) : ''; $generateid == false ? ($p->generateid == $header->field ? ($generateid = true) : ($generateid = false)) : ''; } $header->class == 'readonly' ? ($primary = true) : ''; @endphp
{{-- display label alias on type field not hidden --}} @if ($header->type != 'hidden') @endif {{-- field type char and string --}} @if ($header->type == 'char' || $header->type == 'string') @if ($primary)
{{ $list->{$header->field} }} @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- field type email --}} @elseif ($header->type == 'email') @if ($primary)
{{ $list->{$header->field} }} @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- field type text --}} @elseif ($header->type == 'text') @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- field type number --}} @elseif ($header->type == 'number') @if ($primary)
{{ $list->{$header->field} }} @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- field type currency --}} @elseif ($header->type == 'currency') @if ($primary)
{{ $list->{$header->field} }} @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- field type password --}} @elseif ($header->type == 'password')
filter == '1' ? ' type=password' : ' type=hidden') }} value="{{ $list ? '' : $header->default }}" name="{{ $header->field }}" max="{{ $header->length }}">

Default Password : {{ $header->default }}

{{-- field type file --}} @elseif ($header->type == 'file')

{{ $list ? $list->{$header->field} : old($header->field) }}

Maksimal Size : {{ $header->length }} KB

@if ($header->note != '')

{{ $header->note }}

@else

Format File : pdf,xls,xlsx

@endif {{-- field type date --}} @elseif ($header->type == 'date') @if ($primary)
{{ $list->{$header->field} }} @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- field type hidden --}} @elseif ($header->type == 'hidden') {{-- field type search --}} @elseif ($header->type == 'search') @php // 1. Eksekusi query untuk mendapatkan data. Ini dibutuhkan untuk add & edit. $table_result = []; if ($header->query != '') { $table_result = DB::select($header->query); // dd($table_result); // manual logic if ( array_intersect($allowedRoles, $idroles) && $header->field == 'user_id' ) { $filtered = array_filter($table_result, function ( $item, ) use ($currentUserId) { return $item->{"User ID"} == $currentUserId; }); // ambil hasil pertama kalau cuma satu user $filtered = array_values($filtered); $table_result = $filtered; // taruh kembali ke array (replace) } } // 2. Siapkan variabel nilai awal. $initialDisplayName = ''; $initialIdValue = old($header->field, ''); // Ambil dari old value jika ada, jika tidak kosongkan. // ================= PERUBAHAN UTAMA DI SINI ================= // 3. Cek apakah ini mode EDIT (ada variabel $list) dan field tersebut memiliki nilai. // Ini akan di-skip pada mode ADD. if ( isset($list) && !empty($list->{$header->field}) && !empty($table_result) ) { // Tetapkan nilai ID awal dari data yang di-edit. $initialIdValue = $list->{$header->field}; // Dapatkan nama kolom ID dan Nama secara dinamis. $id_column = array_keys((array) $table_result[0])[0]; $name_column = array_keys((array) $table_result[0])[1]; // Cari nama display yang cocok. foreach ($table_result as $row) { if ($row->{$id_column} == $initialIdValue) { $initialDisplayName = $row->{$name_column}; break; } } } @endphp
{{-- Input untuk MENAMPILKAN NAMA --}} {{-- Nilainya diambil dari $initialDisplayName, yang akan kosong di mode ADD --}} {{-- Input untuk MENGIRIM ID (hidden) --}} {{-- Nilainya diambil dari $initialIdValue, yang sudah menghandle $list dan old() --}}
@if ($header->note != '')

{{ '*) ' . $header->note }}

@endif {{-- Script JavaScript (Tidak ada perubahan) --}} {{-- field type image --}} @elseif ($header->type == 'image')
image

Maksimal Size : {{ $header->length }} KB

@if ($header->note != '')

{{ $header->note }}

@else

Format Image : PNG,JPG,JPEG

@endif {{-- field type enum --}} @elseif ($header->type == 'enum') @if ($primary)
{{ $list->{$header->field} }} @elseif ($generateid)
{{ $list->{$header->field} }} @endif @if ($header->note != '')

{{ '*) ' . $header->note }}

@endif @endif @error($header->field)

{{ $message }}

@enderror
@endforeach

{{-- check flag js on dmenu --}} @if ($jsmenu == '1') @if (view()->exists("js.{$dmenu}")) @push('addjs') {{-- file js in folder (resources/views/js) --}} @include('js.' . $dmenu); @endpush @else @push('addjs') @endpush @endif @endif @endsection @push('js') @endpush