Logo

dev-resources.site

for different kinds of informations.

Apa itu Laravel Filament?

Published at
7/18/2024
Categories
laravel
filament
Author
mahib22
Categories
2 categories in total
laravel
open
filament
open
Author
7 person written this
mahib22
open
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

filament Article's
30 articles in total
Favicon
Multi select default selection i filament v3
Favicon
Filament: Image Color Picker component
Favicon
My First No-Code SaaS Took off - $8K in 40 days
Favicon
Add a sidebar with options in a Filament resource
Favicon
Filament: Modify login or logout response
Favicon
Filament Database Notification Sound
Favicon
Laravel Nova vs Filament: The Best Admin Panels
Favicon
Filament: Add icon to form buttons
Favicon
Filament Breezy: add new field to Personal Info component
Favicon
Filament: Delete Attachments when Deleting a Record
Favicon
Filament: Generate Resource from Existing DB Schema
Favicon
Filament Breezy: set storage disk for avatar
Favicon
Laravel Stats : Filament Charts.js pour faire les statistiques
Favicon
Filament How to redirect to list page after (create,update) using Trait
Favicon
How to solve Symfony\Component\Routing\Exception\RouteNotFoundException Route [filament.admin.resources.api-keys.index] not
Favicon
Apa itu Laravel Filament?
Favicon
Laravel Filament: get resource table data by authenticated id
Favicon
Change Default Colors in FilamentPHP
Favicon
How to Use Searchable in Laravel 10 Filament v3
Favicon
Filament: add a confirmation password field in a form
Favicon
TomatoPHP Filament Plugins
Favicon
Debug Filament Search Query
Favicon
Filament PHP Blade UI Components Visually Explained
Favicon
Filament Context Menu
Favicon
How to Extend a Filament Resource
Favicon
Linkeeper - Lesson 02 - Start playing with Filament
Favicon
Linkeeper - Lesson 01 - Installation
Favicon
Filament has SPA mode!
Favicon
Access parent component value from the Repeater in Filament
Favicon
Filament v3 - Multi-tenancy form component scoping

Featured ones: