DEV Community

Cover image for Apa itu Laravel Filament?
Muhammad Mahib Arib
Muhammad Mahib Arib

Posted on

Apa itu Laravel Filament?

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');
});
Enter fullscreen mode Exit fullscreen mode

Login Page

Silahkan login dengan email dan password yang sudah dibuat tadi.

Dashboard

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
Enter fullscreen mode Exit fullscreen mode

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';
Enter fullscreen mode Exit fullscreen mode

Dashboard

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(),
                ]),
            ]);
    }
Enter fullscreen mode Exit fullscreen mode

Table

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()
            ]);
    }
Enter fullscreen mode Exit fullscreen mode

Form

Top comments (0)