Pluginify

Masuk Daftar
Home > Blog > Laravel > Mengenal Filament Panel di Laravel: Struktur, Fungsi, dan Konfigurasinya

Mengenal Filament Panel di Laravel: Struktur, Fungsi, dan Konfigurasinya

Mengenal Filament Panel di Laravel: Struktur, Fungsi, dan Konfigurasinya

Setelah sebelumnya membahas proses instalasi dan Login Filament, langkah berikutnya adalah memahami apa itu Filament Panel dan bagaimana panel bekerja dalam sistem Filament. Panel merupakan inti dari Filament, tempat di mana resource, navigation, theme, hingga user management disatukan dalam sebuah interface admin yang rapi dan modern. Dengan memahami konsep Filament Panel, developer dapat mengatur komponen admin dengan lebih fleksibel dan scalable.


Apa Itu Filament Panel?

Filament Panel adalah kumpulan komponen yang membentuk struktur dashboard admin dalam Filament, termasuk:

  • Dashboard utama
  • Resource CRUD
  • Menu navigation
  • Tema dan brand panel
  • Middleware & auth guard
  • Plugin & extension
  • User & permission check

Panel menjadi tempat di mana developer dapat mengatur bagaimana aplikasi admin berjalan dan siapa yang dapat mengaksesnya.

Visualnya berupa dashboard yang kamu akses melalui URL seperti:

/admin

Namun path ini dapat dikustomisasi sesuai kebutuhan.


Struktur Dasar Filament Panel

Ketika menginstall Filament pertama kali, kamu akan mendapatkan panel default dengan struktur internal berikut:

  • Panel guard untuk auth
  • Middleware web + auth
  • Resource CRUD builder
  • Navigation sidebar otomatis
  • Brand & logo
  • Profile user + logout

Semua komponen ini sudah aktif tanpa konfigurasi tambahan, sehingga kamu bisa langsung fokus pada pengembangan fitur.


Konfigurasi Dasar Filament Panel

Filament menyediakan konfigurasi panel melalui file:

config/filament.php

Contoh konfigurasi path panel:

'path' => 'admin',

Jadi jika diganti:

'path' => 'dashboard',

Maka akses panel menjadi:

/dashboard

Field lain seperti middleware, auth, database, hingga navigation juga bisa disesuaikan dari sini.


Membuat Filament Panel Baru

Salah satu fitur unggulan Filament adalah kemampuan membuat lebih dari satu panel dalam satu aplikasi.

Hal ini sangat berguna untuk sistem yang memiliki:

✔ Panel Admin

✔ Panel Staff

✔ Panel Mitra

✔ Panel Customer Service

Filament menyediakan command artisan untuk membuat panel baru:

php artisan make:filament-panel Manager

Command ini akan:

  • Membuat folder panel di app/Providers/
  • Menambahkan konfigurasi panel
  • Membuat rute panel spesifik
  • Menghasilkan branding default

Contoh struktur setelah panel dibuat:

app/Providers/Filament/ManagerPanelProvider.php

Di dalam provider ini kamu bisa mengatur branding:

public function panel(Panel $panel): Panel
{
    return $panel
        ->id('manager')
        ->path('manager')
        ->brandName('Manager Panel');
}

Setelah itu, akses via:

/manager

Resource dan Filament Panel

Resource CRUD dalam Filament akan otomatis terdaftar ke panel utama. Jika kamu memiliki multi-panel, kamu dapat menentukan resource belongs to panel tertentu.

Contoh ketika membuat resource:

php artisan make:filament-resource ProductResource

Resource ini otomatis muncul pada panel default. Jika ingin memindahkan ke panel manager, kamu dapat override definisinya di provider panel.


Navigation dalam Filament Panel

Filament Panel mengelola navigation berdasarkan resource yang ditambahkan. Kamu bisa mengatur:

  • Label menu
  • Urutan menu
  • Grup menu
  • Icon menu

Contoh pengaturan navigation resource:

public static function getNavigationGroup(): string
{
    return 'Master Data';
}

public static function getNavigationLabel(): string
{
    return 'Produk';
}

Dengan ini, panel menjadi lebih terstruktur dan mudah dipahami pengguna.


Branding & Tema pada Filament Panel

Panel juga mengatur tema dan branding global. Beberapa opsi yang bisa dikustomisasi:

✔ Logo aplikasi

✔ Nama panel

✔ Primary color

✔ Dark mode

✔ Trigger UI & shortcut

Contoh brand logo:

$panel->brandLogo(asset('images/logo.svg'));

Contoh brand name:

$panel->brandName('Admin Portal');

Permission Akses untuk Panel

Jika aplikasi memiliki role management, kamu dapat membatasi siapa yang dapat mengakses panel tertentu:

public function canAccessPanel(): bool
{
    return $this->hasRole('admin');
}

Metode ini sangat penting untuk aplikasi multi-role seperti e-commerce atau ERP.


Plugin & Ekosistem Panel

Filament mendukung plugin seperti:

  • Spatie Roles & Permissions
  • Audit Logs
  • Multi-tenancy
  • Translatable content
  • Notifications
  • Backup & Media Manager

Plugin ini di-attach ke panel:

$panel->plugins([
    SpatieLaravelPermissionPlugin::make(),
]);

Kesimpulan

Filament Panel adalah komponen inti yang mengatur dashboard admin dalam Filament. Melalui panel, developer dapat mengelola halaman admin, resource CRUD, navigasi, tema, hingga control akses dengan sangat fleksibel. Panel bahkan mendukung multi-dashboard, sebuah fitur penting untuk aplikasi skala besar dengan berbagai tipe user.

Baca Juga: Filament Navigation di Laravel: Cara Mengatur Menu dan Struktur Admin Panel

Pluginify
Pluginify