Plugins
List Entry
List Entry for Filament Infolist.
Infolist entry
Dark theme support
Yes
Multi language support
No
Compatible with the latest version
Supported versions: 3.x
Documentation
Preview

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Plugin for FilamentPHP v3.

#Installation

You can install the package via composer:

composer require fauzie811/filament-list-entry

#Usage

Use it in your Infolist section.

// use Fauzie811\FilamentListEntry\Infolists\Components\ListEntry;
 
public static function infolist(Infolist $infolist): Infolist
{
return $infolist
->schema([
ListEntry::make('users')
->label('Default with Icon')
->itemIcon('heroicon-o-check'),
]);
}

All methods:

  • Generic:

    • ->label('Define top section label')
    • ->inline(true) change the listStyle to inline. Activate separator.
    • ->badge(true) activate the badge for each line. Desactivate itemActions, itemDescription
    • ->separator(',') change the separator, by default , (coma space)
    • ->getStateUsing(['a', 'b', 'c']) specify manually the data to be used oterwize use the relationship
    • ->emptyStateEnabled(true) activate or not the Empty State. Default true
    • ->emptyStateHeading('No data') change the Heading of the Empty State
    • ->emptyStateDescription('There is nothing') change the Description of the Empty State
    • ->emptyStateIcon('heroicon-o-x-mark') change the Icon of the Empty State
  • Record specific (all are Closure compatible):

    • ->itemLabel(fn ($record) => $record->item) specify the label. By default, will try to stringify the record
    • ->itemDescription(fn ($record) => sprintf('Percentage: %s%%', $record['score'] * 100)) add description under the label
    • ->itemIcon(fn($record) => 'heroicon-o-check') define an icon.
    • ->itemIconColor(fn($record) => 'warning') define a color for the icon.
    • ->itemUrl(fn($record) => '#') define a link if the user click on the icon, label or description.
    • ->itemActions(fn($record) => ...) define Actions and ActionGroups at the right of the line. See Filament Actions documentation.

#List of examples

Example Code
Default with Icon

image

ListEntry::make('')
->label('Default with Icon')
->getStateUsing(['a', 'b', 'c'])
->itemIcon('heroicon-o-check'),
Inline badges list with icons & links

image

ListEntry::make('')
->inline(true)
->label('Inline badge with icon & link')
->getStateUsing(['a', 'b', 'c'])
->itemIcon('heroicon-o-check')
->itemUrl(fn ($record) => '#' . $record)
->badge(true),
Inline list with custom separator

image

ListEntry::make('')
->listStyle('inline')
->label('inline simple +')
->getStateUsing(['a', 'b', 'c'])
->separator(' + '),
Inline list with Icon

image

ListEntry::make('')
->listStyle('inline')
->label('inline with Icon')
->getStateUsing(['a', 'b', 'c'])
->itemIcon('heroicon-o-check'),
Complex list with actions

image

ListEntry::make('scoresTop5')
->listStyle('list')
->itemLabel(fn ($record) => $record->item)
->itemUrl(fn ($record) => '#Url-' . $record->id)
->itemActions(
fn ($record) => ActionGroup::make([
Action::make('view'),
Action::make('edit'),
Action::make('delete'),
])
->size(ActionSize::Small)
),
Complex list with custom data, and all options

image

ListEntry::make('checklist')
->listStyle('list')
->getStateUsing([
['name' => 'Complete profile #1', 'score' => 1],
['name' => 'Complete profile #2', 'score' => .75]
])
->itemIcon(fn ($record) => match (true) {
$record['score'] >= 1 => 'heroicon-o-check',
default => 'heroicon-o-exclamation-triangle'
})
->itemIconColor(fn ($record) => match (true) {
$record['score'] >= 1 => 'success',
default => 'danger'
})
->itemActions(
fn ($record) => [
ViewAction::make('view1')
->url('#View1-' . $record['name']),
ActionGroup::make([
Action::make('view2')
->url('#View2-' . $record['name']),
Action::make('edit'),
Action::make('delete'),
])
->size(ActionSize::Small)
]
)
->itemUrl(fn ($record) => '#Url-' . $record['name'])
->itemLabel(fn ($record) => $record['name'])
->itemDescription(function ($record) {
return sprintf('Percentage: %s%%', $record['score'] * 100)
}),

#Dark mode support

This plugin is compatible with Light mode and Dark mode.

light mode dark mode

#Testing

composer test

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

(Do not hesitate to contribute !)

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

Fauzie Rofi
1
Plugins
10
Stars
Featured Plugins