@php use Filament\Actions\Action; use Filament\Actions\ActionGroup; use Filament\Support\Enums\Alignment; use Illuminate\View\ComponentAttributeBag; $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(); $hasColumnManagerDropdown = $hasColumnManager(); $columnManagerApplyAction = $getColumnManagerApplyAction(); $columnManagerTriggerAction = $getColumnManagerTriggerAction(); @endphp
merge($getExtraAttributes(), escape: false) ->class(['fi-fo-table-repeater']) }} > @if (count($items)) @if ( (count($items) > 1) && ( $isReorderableWithButtons || $isReorderableWithDragAndDrop ) ) @endif @foreach ($tableColumns as $tableColumn) @endforeach @if ( count($extraItemActions) || $isCloneable || $isDeletable ) @endif merge([ 'data-sortable-animation-duration' => $getReorderAnimationDuration(), 'x-on:end.stop' => '$event.oldDraggableIndex !== $event.newDraggableIndex && $wire.mountAction(\'reorder\', { items: $event.target.sortable.toArray() }, { schemaComponent: \'' . $key . '\' })', ], escape: false) }} > @foreach ($items as $itemKey => $item) @php $visibleExtraItemActions = collect($extraItemActions)->filter(fn (Action $action) => $action(['item' => $itemKey])->isVisible())->values()->all(); $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(); $itemStatePath = $item->getStatePath(); @endphp @if ( (count($items) > 1) && ( $isReorderableWithButtons || $isReorderableWithDragAndDrop ) ) @endif @php $counter = 0; $visibleColumns = collect($tableColumns)->mapWithKeys(fn ($tableColumn) => [$tableColumn->getName() => $tableColumn]); @endphp @foreach ($item->getComponents() as $schemaComponent) @php throw_unless( $schemaComponent instanceof \Filament\Schemas\Components\Component, new Exception('Table repeaters must only contain schema components, but [' . $schemaComponent::class . '] was used.'), ); @endphp @if ($visibleColumns->has($schemaComponent->getName())) @if ($schemaComponent instanceof \Filament\Forms\Components\Hidden) {{ $schemaComponent }} @else @endif @endif @endforeach @if ( count($extraItemActions) || $isCloneable || $isDeletable ) @endif @endforeach
$tableColumn->canHeaderWrap(), (($columnAlignment = $tableColumn->getAlignment()) instanceof Alignment) ? ('fi-align-' . $columnAlignment->value) : $columnAlignment, ]) @style([ ('width: ' . ($columnWidth = $tableColumn->getWidth())) => filled($columnWidth), ]) > @if (! $tableColumn->isHeaderLabelHidden()) {{ $tableColumn->getLabel() }} @if ($tableColumn->isMarkedAsRequired()) * @endif @else {{ $tableColumn->getLabel() }} @endif @if ($hasColumnManagerDropdown) {{ $columnManagerTriggerAction }} @endif
@if ( $reorderActionIsVisible || $moveUpActionIsVisible || $moveDownActionIsVisible )
@if ($reorderActionIsVisible)
{{ $reorderAction->extraAttributes(['x-sortable-handle' => true], merge: true) }}
@endif @if ( $moveUpActionIsVisible || $moveDownActionIsVisible )
{{ $moveUpAction }}
{{ $moveDownAction }}
@endif
@endif
getStatePath(); @endphp x-data="filamentSchemaComponent({ path: @js($schemaComponentStatePath), containerPath: @js($itemStatePath), isLive: @js($schemaComponent->isLive()), $wire, })" @endif > {{ $schemaComponent }} @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