@php if ($settings['overrideTitle']) { $pageTitle = $settings['overrideTitle']; } else { $pageTitle = trans('common.view_item_', ['item' => $settings['subject_column'] ? parse_attr($form['data']->{$settings['subject_column']}) : trans('common.item')]) . config('default.page_title_delimiter') . $settings['title']; } @endphp @extends($settings['guard'] . '.layouts.default') @section('page_title', $pageTitle . config('default.page_title_delimiter') . config('default.app_name')) @section('content')
{{-- Page Header --}} @if($settings['list']) @endif @if ($settings['edit']) @endif @if ($settings['delete']) @endif {{-- Content Card --}}
@if ($form['columns']) @foreach ($form['columns'] as $column) @if (!$column['hidden']) @if($column['container_start::view'])
@endif @if($column['classes::view'])
@endif
{{ $column['text'] }}
@if ($column['type'] == 'image' || $column['type'] == 'avatar') @if ($form['data']->{$column['name']}) {{ parse_attr($column['text']) }} @else
{{ trans('common.no_image') }}
@endif @elseif ($column['type'] == 'boolean') @php $boolValue = (bool) $form['data']->{$column['name']}; @endphp @if ($column['format'] == 'icon') @php $iconName = $boolValue ? 'check' : 'x'; $colorClasses = $boolValue ? 'text-green-600 bg-green-100 dark:text-green-400 dark:bg-green-900/50' : 'text-red-600 bg-red-100 dark:text-red-400 dark:bg-red-900/50'; @endphp
@else {{ $boolValue ? trans('common.yes') : trans('common.no') }} @endif @elseif (in_array($column['type'], ['date_time'])) {!! $form['data']->{$column['name']} !!} @elseif (in_array($column['format'], ['datetime-local'])) {!! $form['data']->{$column['name']} !!} @else @php $fieldValue = $form['data']->{$column['name']}; $isNumberColumn = ($column['type'] ?? '') === 'number' || ($column['format'] ?? '') === 'number'; // For number columns, check raw value to detect null converted to 0 by model cast if ($isNumberColumn && method_exists($form['data'], 'getRawOriginal')) { $rawValue = $form['data']->getRawOriginal($column['name']); if ($rawValue === null || $rawValue === '') { $fieldValue = null; } } // Treat empty-ish values as "show dash" $isEmpty = $fieldValue === null || $fieldValue === ''; @endphp @if(!$isEmpty) {!! $fieldValue !!} @else — @endif @endif
@if($column['classes::view'])
@endif @if($column['container_end::view'])
@endif @endif @endforeach @endif
@if ($settings['delete']) @endif {{-- Custom JavaScript from DataDefinition settings --}} @php $customJs = null; if (!empty($settings['js'])) { if (is_string($settings['js'])) { // String = applies to all views $customJs = $settings['js']; } elseif (is_array($settings['js'])) { // Check for exact match or comma-separated keys containing 'view' foreach ($settings['js'] as $views => $code) { $viewList = array_map('trim', explode(',', $views)); if (in_array('view', $viewList) || in_array('all', $viewList)) { $customJs = $code; break; } } } } @endphp @if ($customJs) @endif @stop