@php $fields ??= []; $errors ??= []; $oldInput ??= []; if (empty($languageCode)) { $languageCode = config('app.locale', session('langCode')); } @endphp @if (!empty($fields)) @foreach($fields as $field) @php $modelFieldId = data_get($field, 'id'); $modelFieldType = data_get($field, 'type'); $modelDefaultValue = data_get($field, 'default_value'); // Fields parameters $fieldId = 'cf.' . $modelFieldId; $fieldName = 'cf[' . $modelFieldId . ']'; $fieldOld = 'cf.' . $modelFieldId; // Errors & Required CSS $requiredClass = (data_get($field, 'required') == 1) ? 'required' : ''; $errorClass = (isset($errors[$fieldOld])) ? ' is-invalid' : ''; // Get the default value $defaultValue = $oldInput[$modelFieldId] ?? $modelDefaultValue; // Get field other attributes $fieldOptions = data_get($field, 'options') ?? []; $fieldOptions = is_array($fieldOptions) ? $fieldOptions : []; @endphp @if ($modelFieldType == 'checkbox') {{-- checkbox --}}
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'checkbox_multiple') @if (!empty($fieldOptions)) {{-- checkbox_multiple --}}
@php $cmFieldStyle = (count($fieldOptions) > 12) ? ' style="height: 250px; overflow-y: scroll;"' : ''; @endphp
@foreach ($fieldOptions as $option) @php $modelOptionId = data_get($option, 'id'); // Get the default value $defaultValue = (is_array($modelDefaultValue)) ? data_get($modelDefaultValue, $modelOptionId . '.id') : $modelDefaultValue; $defaultValue = data_get($oldInput, $modelFieldId . '.' . $modelOptionId, $defaultValue); @endphp
@endforeach
{!! data_get($field, 'help') !!}
@endif @elseif ($modelFieldType == 'file') {{-- file --}}
{!! data_get($field, 'help') !!} {{ t('file_types', ['file_types' => showValidFileTypes('file')], 'global', $languageCode) }}
@if (!empty($modelDefaultValue) && $disk->exists($modelDefaultValue))
{{ t('Download') }}
@endif
@elseif ($modelFieldType == 'radio') @if (!empty($fieldOptions)) {{-- radio --}}
@foreach ($fieldOptions as $option) @php $modelOptionId = data_get($option, 'id'); @endphp
@endforeach
{!! data_get($field, 'help') !!}
@endif @elseif ($modelFieldType == 'select') {{-- select --}}
@php $select2Type = (count($fieldOptions) <= 10) ? 'selecter' : 'large-data-selecter'; @endphp
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'textarea') {{-- textarea --}}
@php $fieldMax = (int)data_get($field, 'max'); $fieldMaxAttr = !empty($fieldMax) ? ' maxlength="'. $fieldMax .'"' : ''; @endphp
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'url') {{-- url --}}
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'number') {{-- number --}}
@php $fieldMax = (int)data_get($field, 'max'); $fieldMaxAttr = !empty($fieldMax) ? ' max="'. $fieldMax .'"' : ''; @endphp
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'date') {{-- date --}}
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'date_time') {{-- date_time --}}
{!! data_get($field, 'help') !!}
@elseif ($modelFieldType == 'date_range') {{-- date_range --}}
{!! data_get($field, 'help') !!}
@else {{-- text --}}
@php $fieldMax = (int)data_get($field, 'max'); $fieldMaxAttr = !empty($fieldMax) ? ' maxlength="'. $fieldMax .'"' : ''; @endphp
{!! data_get($field, 'help') !!}
@endif @endforeach @endif