azaw/easyadmin-az-fields

Custom EasyAdmin fields by AZ

v1.0.0 2025-07-30 09:22 UTC

This package is auto-updated.

Last update: 2025-07-30 10:00:57 UTC


README

Available fields

CropField

Example usage in Controller

$photo = CropField::new('file')
    ->setDataTransformer(new CropDataTransformer())
    ->setCropperSettings(
        (new CropperSettingsDto())
            ->setAspectRatio(13 / 4)
            ->setZoomable(false)
            ->setScalable(false)
    );

Example CropDataTransformer

   
namespace App\DataTransformer;

use EasyAdminAzFields\Contracts\CropDataTransformerInterface;
use EasyAdminAzFields\Dto\CropperValueDto;

class CropDataTransformer implements CropDataTransformerInterface
{
    public function transform(mixed $value): CropperValueDto
    {
        $dto = new CropperValueDto();

        if (!$value instanceof YourFileEntity) {
            return $dto;
        }

        return $dto
            ->setOldImage($value->getCurrentImagePath());
    }

    public function reverseTransform(mixed $value): ?YourFileEntity
    {
        if (!$value instanceof CropperValueDto) {
            return null;
        }

        if(!$value->getImage() && !$value->getOldImage()){
            return null;
        }

        if(!$value->getImage() && $value->getOldImage()){      
           // return old value
        }

        return (new YourFileEntity());
    }
}