Pluginify

Masuk Daftar
Home > Blog > Laravel > Memahami Fitur List Records pada Laravel Filament

Memahami Fitur List Records pada Laravel Filament

Memahami Fitur List Records pada Laravel Filament

Fitur List Records pada Laravel Filament merupakan bagian fundamental dari proses pengelolaan data dalam modul CRUD. Melalui fungsi ini, developer dapat menampilkan data secara dinamis dalam bentuk tabel lengkap dengan fitur sorting, filtering, pagination, hingga aksi manipulasi data dalam satu tampilan. Komponen ini menjadikan manajemen data terasa lebih cepat dan efisien.

Dalam pengembangan dashboard admin, penggunaan List Records sangat membantu developer untuk menghadirkan tabel data yang informatif dan mudah dipelajari oleh pengguna non-teknis. Dengan berbagai komponen tambahan seperti bulk actions, table actions, dan pencarian, fitur ini menawarkan kemampuan profesional untuk aplikasi skala kecil hingga enterprise.


Apa Itu List Records?

Secara definisi, List Records merupakan halaman pada Filament yang secara khusus menampilkan daftar data dari sebuah Model Laravel dalam bentuk tabel yang terstruktur. Pada struktur Filament, halaman ini secara otomatis disediakan ketika developer membuat sebuah Resource.

Fitur inti yang biasanya tersedia pada halaman List Records antara lain:

  • Pagination otomatis
  • Column sorting
  • Search bar
  • Table filters
  • Table actions (edit, view, delete)
  • Bulk actions
  • Export data (opsional melalui plugin)

Dengan kemampuan ini, developer tidak perlu membangun tabel dari nol menggunakan HTML + JavaScript.


Struktur Halaman List Records

Ketika developer mengeksekusi perintah pembuatan Resource seperti:

php artisan make:filament-resource Post

Maka Filament menghasilkan struktur seperti:

app/
└── Filament/
    └── Resources/
        └── PostResource/
            ├── Pages/
            │   ├── ListPosts.php
            │   ├── CreatePost.php
            │   └── EditPost.php
            └── PostResource.php

File ListPosts.php adalah implementasi halaman List Records.


Contoh Implementasi List Records

Berikut contoh kode dasar halaman ListPosts.php:

namespace App\Filament\Resources\PostResource\Pages;

use App\Filament\Resources\PostResource;
use Filament\Resources\Pages\ListRecords;

class ListPosts extends ListRecords
{
    protected static string $resource = PostResource::class;
}

Kode di atas sudah cukup untuk menampilkan tabel dengan data Model Post.


Mendefinisikan Table Columns

Tabel pada List Records diatur melalui method table() yang ada pada class Resource. Contoh penerapannya:

public static function table(Table $table): Table
{
    return $table
        ->columns([
            Tables\Columns\TextColumn::make('title')
                ->sortable()
                ->searchable(),

            Tables\Columns\TextColumn::make('created_at')
                ->dateTime()
                ->sortable(),
        ])
        ->filters([])
        ->actions([])
        ->bulkActions([]);
}

Keterangan:

PropertiFungsisortable()Mengaktifkan sorting (ASC/DESC)searchable()Mengaktifkan fitur pencariandateTime()Format tanggal otomatis

Menambahkan Table Filters

Fitur filter membantu user menampilkan data berdasarkan kondisi tertentu.

Contoh filter berdasarkan tanggal:

->filters([
    Tables\Filters\Filter::make('published')
        ->query(fn ($query) => $query->whereNotNull('published_at')),
])

Filter dapat berupa:

  • Checkbox
  • Select dropdown
  • Date range
  • Custom filter callback

Menambahkan Table Actions

Table Actions umumnya digunakan untuk aksi per record seperti edit, view, atau delete.

Contoh penerapan:

->actions([
    Tables\Actions\EditAction::make(),
    Tables\Actions\DeleteAction::make(),
])

Aksi dapat diperluas menjadi aksi custom.


Menambahkan Bulk Actions

Bulk actions memungkinkan user memproses banyak record sekaligus.

Contoh:

->bulkActions([
    Tables\Actions\DeleteBulkAction::make(),
])

Bulk Actions sangat berguna untuk fitur:

  • Multi delete
  • Export data
  • Approval massal
  • Update massal

Pencarian Data (Searchable)

Jika table menggunakan searchable(), maka Filament otomatis menampilkan search bar pada bagian header halaman. User dapat mencari berdasarkan kolom yang ditandai searchable.

Contoh kolom searchable:

Tables\Columns\TextColumn::make('title')->searchable()

Keunggulan Fitur List Records

Berikut beberapa keuntungan penggunaan List Records dalam dashboard Filament:

  1. Tanpa HTML & JavaScript manual
  2. Komponen tabel yang kaya
  3. Validasi otomatis dari model
  4. Integrasi sorting & filter bawaan
  5. Mendukung relasi antar model
  6. UI modern & responsif
  7. Extensible untuk kebutuhan enterprise

Dengan kelebihan tersebut, Filament menjadi pilihan populer untuk pengembangan sistem administrasi.


Kesimpulan

Fitur List Records pada Laravel Filament adalah solusi efisien dan elegan untuk menampilkan data dalam sebuah dashboard admin. Dengan dukungan komponen table yang lengkap, developer dapat menghadirkan tampilan data yang informatif dan siap digunakan oleh pengguna bisnis. Integrasinya yang seamless dengan Resource lainnya seperti Create Record dan Edit Record menjadikannya fondasi penting dalam pengembangan modul CRUD modern.

Pluginify
Pluginify