@foreach($fields as $field => $props)
@if($props['type'] != 'hidden')
@endif
@switch($props['type'])
@case('hidden')
@break
@case('text')
@case('email')
@case('number')
@case('tel')
@break
@case('date')
@break
@case('datetime')
@break
@case('textarea')
@break
@case('select')
@break
@case('multiselect')
@php
$multiSelected = [];
if (is_object($item ?? null) && isset($item->{$field}) && is_array($item->{$field})) {
$multiSelected = $item->{$field};
} elseif (isset($props['default']) && is_array($props['default'])) {
$multiSelected = $props['default'];
}
@endphp
@break
@case('bigmultiselect')
@break
@case('yesno')
@php
$yesnoDefault = $props['default'] ?? 'no';
$yesnoValue = (is_object($item ?? null) && isset($item->{$field}) && $item->{$field} !== '')
? $item->{$field}
: $yesnoDefault;
@endphp
@break
@case('image')
@break
@case('file')
@break
@case('mapping')
@break
@case('color')
@php
$colorValue = ($mode == 'edit' && isset($item->{$field}) && $item->{$field} !== '')
? $item->{$field}
: '#000000';
if (!preg_match('/^#[0-9A-Fa-f]{6}$/', $colorValue)) {
$colorValue = '#000000';
}
@endphp
@break
@case('color_ranges')
@break
@case('combined_metrics')
@break
@endswitch
@if($props['type'] != 'hidden')
@endif
@endforeach