@props([ 'name', 'title' => '', 'columns' => [], 'class' => '', 'model', 'is_readonly' => false, 'initEmpty' => false, 'hideFirstTrash' => false, 'notAllowToAdd' => false, 'deleteOld' => true, ])
@php // data: old repeater data // columns: fields $data = $model ? collect(old($name, $model[$name]?->toArray())) : collect([]); if ($data->isEmpty()) { $data = [ [ 'id' => null, ], ]; foreach ($columns as $column => $columnData) { $data[0][$column] = ''; } } @endphp @foreach ($data as $i => $row)
@foreach ($columns as $column => $columnData) @php $newAttributes = clone $attributes; foreach ($columnData[2] as $key => $value) { $newAttributes[$key] = $value; } if (isset($model[$name]) && strpos($column, '_') !== false && count($model[$name]) > 0) { $keys = explode('_', $column); if (in_array($keys[1], ['ar', 'en'])) { $columnValue = $row[$keys[0]][$keys[1]]; } else { $columnValue = $row[$column]; } } elseif (isset($newAttributes['columnValue'])) { $keys = explode('`][`', trim($newAttributes['columnValue'], '[]`')); $columnValue = $row[$keys[0]][$keys[1]]; } else { $columnValue = $row[$column]; } @endphp
@endforeach
@endforeach
@if (!$notAllowToAdd) @endif
@push('scripts') @endpush