kda/filament-blocks

3.0.1 2024-03-26 13:58 UTC

This package is auto-updated.

Last update: 2024-12-19 09:42:03 UTC


README

Latest Version on Packagist Total Downloads

Reusables Blocks for Filament Builder Field

This package is a partial fork of Z3d0X/filament-fabricator by Z3d0X

Liked the concept but I needed to split the features in separate packages.

Works well with kda/laravel-layouts

Installation

You can install the package via composer:

composer require kda/filament-blocks

Create a block

php artisan make:filament-block MyBlock

This will create two files in your laravel folder

  • app/Filament/Blocks/MyBlock.php
  • resources/views/components/filament-blocks/my.blade.php

Getting the blocks

in filament Builder form

BlockManager::getBlocks()
<?php


class PageResource extends Resource
{
   
    public static function form(Form $form): Form
    {
        return $form
            ->schema([
               Builder::make('content')
                ->blocks(BlockManager::getBlocksByClass(PageGroup::class))
            ]);
    }

}

in your blade template

just call the blade component to render all the blocks

    <x-filament-blocks::blocks :blocks="$content" />

rendering blocks

Your block component blade file will receive all form data as properties.

you can customize data sent to the component in the mutateData function of your Block

    public static function mutateData(array $data): array
    {
        $data['post']= Post::find($data['post_id']);
        return $data;
    }

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.