br
br
FFilament
Created by br on 2/17/2025 in #❓┊help
Infolist Repeatable with custom state
Hey! No, not really. I decided to go another path and created my own filament component. Thats probably a little bit oversized but solves my problem:
ChangeHistory::make('mydata')
->label('Change History')
->columnSpanFull(),
ChangeHistory::make('mydata')
->label('Change History')
->columnSpanFull(),
<?php

namespace App\Infolists\Components;

use Filament\Infolists\Components\Entry;

class ChangeHistory extends Entry
{
protected string $view = 'infolists.components.change-history';

public function getState(): mixed
{
return parent::getState() ?? [];
}
}
<?php

namespace App\Infolists\Components;

use Filament\Infolists\Components\Entry;

class ChangeHistory extends Entry
{
protected string $view = 'infolists.components.change-history';

public function getState(): mixed
{
return parent::getState() ?? [];
}
}
<x-dynamic-component :component="$getEntryWrapperView()" :entry="$entry">
<div>
@forelse($getState() as $version)
<!-- some code here -->
@foreach($version['changed_fields'] as $field)
<!-- some code here -->
@endforeach
@empty
<!-- some code here -->
@endforelse
</div>
</x-dynamic-component>
<x-dynamic-component :component="$getEntryWrapperView()" :entry="$entry">
<div>
@forelse($getState() as $version)
<!-- some code here -->
@foreach($version['changed_fields'] as $field)
<!-- some code here -->
@endforeach
@empty
<!-- some code here -->
@endforelse
</div>
</x-dynamic-component>
4 replies