תיאור
{!! nl2br(e($specification->body)) !!}
@endif
@if($specification->component_data && count($specification->component_data) > 0)
נתוני רכיב
@php
// Load form definition to get field labels
$formDefinition = null;
try {
$formDefPath = public_path('form-definition.json');
if (file_exists($formDefPath)) {
$formDefinition = json_decode(file_get_contents($formDefPath), true);
}
} catch (\Exception $e) {
// Ignore errors
}
// Create a map of field names to labels and group structure
$fieldLabels = [];
$groupStructure = [];
if ($formDefinition) {
if (isset($formDefinition['groups'])) {
// New format with groups
foreach ($formDefinition['groups'] as $group) {
if (isset($group['fields'])) {
foreach ($group['fields'] as $field) {
$fieldLabels[$field['name']] = $field['label'] ?? $field['name'];
}
$groupStructure[] = [
'id' => $group['id'] ?? null,
'title' => $group['title'] ?? null,
'description' => $group['description'] ?? null,
'fields' => array_map(function($f) { return $f['name']; }, $group['fields'] ?? [])
];
}
}
} elseif (isset($formDefinition['fields'])) {
// Legacy format with fields only
foreach ($formDefinition['fields'] as $field) {
$fieldLabels[$field['name']] = $field['label'] ?? $field['name'];
}
}
}
@endphp
@if(!empty($groupStructure))
{{-- Display by groups --}}
@foreach($groupStructure as $group)
@php
$hasData = false;
foreach ($group['fields'] as $fieldName) {
if (isset($specification->component_data[$fieldName]) &&
$specification->component_data[$fieldName] !== null &&
$specification->component_data[$fieldName] !== '') {
$hasData = true;
break;
}
}
@endphp
@if($hasData)
@if($group['title'])
{{ $group['title'] }}
@endif
@if($group['description'])
{{ $group['description'] }}
@endif
@foreach($group['fields'] as $fieldName)
@if(isset($specification->component_data[$fieldName]) && $specification->component_data[$fieldName] !== null && $specification->component_data[$fieldName] !== '')
{{ $fieldLabels[$fieldName] ?? $fieldName }}:
@if(is_array($specification->component_data[$fieldName]))
{{ implode(', ', array_filter($specification->component_data[$fieldName])) }}
@else
{{ $specification->component_data[$fieldName] }}
@endif
@endif
@endforeach
@endif
@endforeach
@else
{{-- Fallback: Display all fields without groups --}}
@foreach($specification->component_data as $key => $value)
@if($value !== null && $value !== '')
{{ $fieldLabels[$key] ?? $key }}:
@if(is_array($value))
{{ implode(', ', array_filter($value)) }}
@else
{{ $value }}
@endif
@endif
@endforeach
@endif
@endif
@if($specification->media && $specification->media->count() > 0)
Attached Media
@foreach($specification->media as $media)
@endforeach