Laravel Filament adalah package yang dirancang khusus untuk Laravel, yang memungkinkan developer untuk membuat dashboard dan panel admin dengan cepat dan mudah dengan menyediakan komponen-komponen siap pakai yang bisa langsung digunakan.
Instalasi Laravel Filament
Pertama, Anda perlu menginstal Laravel Filament pada proyek Laravel. Anda bisa melakukannya dengan perintah composer require filament/filament
.
Setelah itu jalankan perintah berikut untuk membuat konfigurasi filament menjadi publik php artisan vendor:publish --tag=filament-config
.
Lalu install Filament Panel Builder dengan menjalankan perintah php artisan filament:install --panels
.
Buat akun admin pertama Anda dengan menjalankan perintah php artisan filament:user
dan ikuti petunjuknya untuk memasukkan email dan kata sandi Anda.
Jalankan server dan akses url http://localhost:8000/admin/login
. Anda juga bisa mengubah pada file web.php agar ketika mengakses url http://localhost:8000
langsung meredirect ke url http://localhost:8000/admin/login
seperti berikut.
Route::get('/', function () {
return redirect()->route('filament.admin.auth.login');
});
Silahkan login dengan email dan password yang sudah dibuat tadi.
Membuat Resource CRUD
Laravel Filament menyediakan generator CRUD yang memudahkan pembuatan operasi Create, Read, Update, dan Delete untuk model tertentu. Misalnya, Anda ingin membuat CRUD untuk model Category. Anda bisa menjalankan perintah php artisan make:filament-resource Category
.
Perintah tersebut akan menghasilkan beberapa file, yaitu:
-- CategoryResources.php
-- CategoryResource
-- Pages
-- CreateCategory.php
-- EditCategory.php
-- ListCategory.php
Jika Anda lihat pada sidebar terdapat menu navigasi baru yaitu Categories. Jika Anda ingin mengganti nama menu tersebut, buka file CategoryResources.php dan tambahkan code berikut.
protected static ?string $navigationLabel = 'Manage Category';
Mengatur Resource
Setelah resource dibuat, Anda bisa mengatur kolom apa saja yang ingin ditampilkan.
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('code'),
Tables\Columns\TextColumn::make('name'),
Tables\Columns\ImageColumn::make('image')->disk('public'),
])
->filters([
//
])
->actions([
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]);
}
Menggunakan Form Builder
Selain menampilkan data, Anda juga bisa membuat formulir untuk menambah atau mengedit category. Filament menyediakan Form Builder yang memudahkan pembuatan formulir ini.
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make(name: 'code')->required()->unique(table: Category::class),
Forms\Components\TextInput::make(name: 'name')->required(),
Forms\Components\FileUpload::make('image')->disk('public')->required()
]);
}
Top comments (0)