@php $subfields = []; foreach ($field['subfields'] as $subfield) { if (isset($row)) { // Cast objects to array (could be a translation object, or a developer provided collection). if (is_object($row)) { $row = collect($row)->toArray(); } if (!is_array($subfield['name'])) { if (!Str::contains($subfield['name'], '.')) { // this is a fix for 4.1 repeatable names that when the field was multiple, saved the keys with `[]` in the end. Eg: `tags[]` instead of `tags` if (isset($row[$subfield['name']]) || isset($row[$subfield['name'] . '[]'])) { $subfield['value'] = $row[$subfield['name']] ?? $row[$subfield['name'] . '[]']; } $subfield['name'] = $field['name'] . '[' . $repeatable_row_key . '][' . $subfield['name'] . ']'; } else { $subfield['value'] = \Arr::get($row, $subfield['name']); $subfield['name'] = $field['name'] . '[' . $repeatable_row_key . '][' . Str::replace('.', '][', $subfield['name']) . ']'; } } else { foreach ($subfield['name'] as $k => $item) { $subfield['name'][$k] = $field['name'] . '[' . $repeatable_row_key . '][' . $item . ']'; $subfield['value'][$subfield['name'][$k]] = \Arr::get($row, $item); } } } else { if (!is_array($subfield['name'])) { $subfield['name'] = $field['name'] . '[#ROWKEY][' . $subfield['name'] . ']'; } else { foreach ($subfield['name'] as $k => $subfieldName) { $subfield['name'][$k] = $field['name'] . '[#ROWKEY][' . $subfieldName . ']'; } } } $subfields[] = $subfield; } $isRestricted = $restrictedForm && $repeatable_row_key != '#ROWKEY'; @endphp @php $orderField = $subfields[0]; $idField = $subfields[1]; $labelField = $subfields[2]; $kindField = $subfields[3]; $hintField = $subfields[4]; $optionsField = $subfields[5]; $isRequiredField = $subfields[6]; $isVisibleToJuryField = $subfields[7]; $applicantAttributeField = $subfields[8]; $enumFieldView = $crud->getFirstFieldView('enum', 'admin.crud.callforproposal.application.fields'); @endphp
@include($crud->getFirstFieldView($orderField['type']), ['field' => $orderField]) @include($crud->getFirstFieldView($idField['type']), ['field' => $idField])
@if (!$isRestricted) @endif
@php $labelField['attributes'] = $labelField['attributes'] ?? []; $labelField['attributes']['class'] = $labelField['attributes']['class'] ?? ($default_class ?? 'form-control form-control-solid form-control-lg'); @endphp $value) @if (is_string($attribute)) {{ $attribute }}="{{ $value }}" @endif @endforeach />
@include($enumFieldView, ['field' => $kindField])
@include($crud->getFirstFieldView('floating-' . $hintField['type']), [ 'field' => $hintField, ]) @php if (is_string($row['kind'])) { $rowKind = $row['kind']; } else { $rowKind = $row['kind']->value; } $optionsFieldView = $crud->getFirstFieldView( 'inc.application_fields.options.' . strtolower($rowKind), ); @endphp @include($optionsFieldView, [ 'optionField' => $optionsField, ])
@include($crud->getFirstFieldView($isRequiredField['type']), [ 'field' => $isRequiredField, ]) @include($crud->getFirstFieldView($isVisibleToJuryField['type']), [ 'field' => $isVisibleToJuryField, ])
@include($enumFieldView, ['field' => $applicantAttributeField])