@php use Filament\Actions\Action; use Filament\Support\Enums\Alignment; use Illuminate\View\ComponentAttributeBag; $fieldWrapperView = $getFieldWrapperView(); $items = $getItems(); $addAction = $getAction($getAddActionName()); $addActionAlignment = $getAddActionAlignment(); $addBetweenAction = $getAction($getAddBetweenActionName()); $cloneAction = $getAction($getCloneActionName()); $deleteAction = $getAction($getDeleteActionName()); $moveDownAction = $getAction($getMoveDownActionName()); $moveUpAction = $getAction($getMoveUpActionName()); $reorderAction = $getAction($getReorderActionName()); $extraItemActions = $getExtraItemActions(); $isAddable = $isAddable(); $isCloneable = $isCloneable(); $isDeletable = $isDeletable(); $isReorderableWithButtons = $isReorderableWithButtons(); $isReorderableWithDragAndDrop = $isReorderableWithDragAndDrop(); $key = $getKey(); $statePath = $getStatePath(); $tableColumns = $getTableColumns(); @endphp
merge($getExtraAttributes(), escape: false) ->class(['fi-fo-table-repeater']) }} > @if (count($items)) @if ((count($items) > 1) && ($isReorderableWithButtons || $isReorderableWithDragAndDrop)) @endif @foreach ($tableColumns as $column) @endforeach @if (count($extraItemActions) || $isCloneable || $isDeletable) @endif @if (count($items)) merge([ 'data-sortable-animation-duration' => $getReorderAnimationDuration(), 'wire:end.stop' => 'mountAction(\'reorder\', { items: $event.target.sortable.toArray() }, { schemaComponent: \'' . $key . '\' })', ], escape: false) }} > @foreach ($items as $itemKey => $item) @php $visibleExtraItemActions = array_filter( $extraItemActions, fn (Action $action): bool => $action(['item' => $itemKey])->isVisible(), ); $cloneAction = $cloneAction(['item' => $itemKey]); $cloneActionIsVisible = $isCloneable && $cloneAction->isVisible(); $deleteAction = $deleteAction(['item' => $itemKey]); $deleteActionIsVisible = $isDeletable && $deleteAction->isVisible(); $moveDownAction = $moveDownAction(['item' => $itemKey])->disabled($loop->last); $moveDownActionIsVisible = $isReorderableWithButtons && $moveDownAction->isVisible(); $moveUpAction = $moveUpAction(['item' => $itemKey])->disabled($loop->first); $moveUpActionIsVisible = $isReorderableWithButtons && $moveUpAction->isVisible(); $reorderActionIsVisible = $isReorderableWithDragAndDrop && $reorderAction->isVisible(); @endphp @if ((count($items) > 1) && ($isReorderableWithButtons || $isReorderableWithDragAndDrop)) @endif @php $counter = 0 @endphp @foreach ($item->getComponents(withHidden: true) as $component) @php throw_unless( $component instanceof \Filament\Forms\Components\Field || $component instanceof \Filament\Infolists\Components\Entry, new \Exception('Table repeaters must only contain form fields and infolist entries, but [' . $component::class . '] was used.'), ); @endphp @if (count($tableColumns) > $counter) @if ($component instanceof \Filament\Forms\Components\Hidden) {{ $component }} @else @php $counter++ @endphp @if ($component->isVisible()) @else @endif @endif @endif @endforeach @if (count($extraItemActions) || $isCloneable || $isDeletable) @endif @endforeach @endif
$column->isHeaderWrapped(), (($columnAlignment = $column->getAlignment()) instanceof Alignment) ? ('fi-align-' . $columnAlignment->value) : $columnAlignment, ]) @style([ ('width: ' . ($columnWidth = $column->getWidth())) => filled($columnWidth), ]) > @if (! $column->isHeaderLabelHidden()) {{ $column->getLabel() }}@if ($column->isMarkedAsRequired())* @endif @else {{ $column->getLabel() }} @endif
@if ($reorderActionIsVisible || $moveUpActionIsVisible || $moveDownActionIsVisible)
@if ($reorderActionIsVisible)
{{ $reorderAction }}
@endif @if ($moveUpActionIsVisible || $moveDownActionIsVisible)
{{ $moveUpAction }}
{{ $moveDownAction }}
@endif
@endif
{{ $component }} @if ($visibleExtraItemActions || $cloneActionIsVisible || $deleteActionIsVisible)
@foreach ($visibleExtraItemActions as $extraItemAction)
{{ $extraItemAction(['item' => $itemKey]) }}
@endforeach @if ($cloneActionIsVisible)
{{ $cloneAction }}
@endif @if ($deleteActionIsVisible)
{{ $deleteAction }}
@endif
@endif
@endif @if ($isAddable && $addAction->isVisible())
value) : $addActionAlignment, ]) > {{ $addAction }}
@endif