@php $pageTitle = $settings['overrideTitle'] ?? trans('common.add_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 @php $hasTabs = !empty($form['tabs']); @endphp {{-- Form Content --}}
@if ($form['columns']) @if($hasTabs) {{-- Tabs at Page Level (NO card wrapper!) --}} @php $previousTab = null; @endphp @foreach ($form['columns'] as $column) @if (!$column['hidden']) @if($column['tab'] && $column['tab'] !== $previousTab) @if($previousTab !== null)
@endif
@endif @if($column['container_start::insert'])
@endif @if($column['classes::insert'])
@endif @if(!empty($column['conditional']))
{$column['conditional']['field']} ?? ($form['columns'][$column['conditional']['field']]['default'] ?? ''), $column['conditional']['values'])) style="display: none;" @endif> @endif @include('data.form', compact('form', 'column')) @if(!empty($column['conditional']))
@endif @if($column['classes::insert'])
@endif @if($column['container_end::insert'])
@endif @php $previousTab = $column['tab']; @endphp @endif @endforeach
@else {{-- Non-tabbed form: Wrap in clean card --}}
@foreach ($form['columns'] as $column) @if (!$column['hidden']) @if($column['container_start::insert'])
@endif @if($column['classes::insert'])
@endif @if(!empty($column['conditional']))
{$column['conditional']['field']} ?? ($form['columns'][$column['conditional']['field']]['default'] ?? ''), $column['conditional']['values'])) style="display: none;" @endif> @endif @include('data.form', compact('form', 'column')) @if(!empty($column['conditional']))
@endif @if($column['classes::insert'])
@endif @if($column['container_end::insert'])
@endif @endif @endforeach
@endif {{-- Form Actions --}}
@if($settings['list']) {{ trans('common.cancel') }} @endif
@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 'insert' foreach ($settings['js'] as $views => $code) { $viewList = array_map('trim', explode(',', $views)); if (in_array('insert', $viewList) || in_array('all', $viewList)) { $customJs = $code; break; } } } } @endphp @if ($customJs) @endif @if (session('current_tab_index') && $hasTabs) @endif @if ($errors->any()) @endif
@stop