easyadminfriends/easyadmindashboard-bundle

Dashboard/Homepage page for EasyAdminBundle

v3.0 2025-04-08 08:23 UTC

This package is auto-updated.

Last update: 2025-04-18 16:35:29 UTC


README

This bundle is an extension for the Easycorp EasyAdminBundle (the simple Symfony backends administration bundle). It allows you to create easily a user-friendly homepage with some counters, like a dashboard.

Alt text

Requirements

This bundle requires:

* PHP 8.2 or higher
* Symfony 6.4 or higher
* EasyAdmin 4

Installation

Use composer to require the latest stable version.

$ composer require easyadminfriends/easyadmindashboard-bundle:3.x

Generate dashboard items inside Easyadmin Dashboard Controller

#App\Controller\Admin\DashboardController
...
use EasyAdminFriends\EasyAdminDashboardBundle\Service\EasyAdminDashboard;

class DashboardController extends AbstractDashboardController
{
    public function __construct(private EasyAdminDashboard $easyAdminDashboard){}

    public function index(): Response
    {
        return $this->render('@EasyAdminDashboard/Default/index.html.twig', [
            'dashboard' => $this->easyAdminDashboard->getDashboard()
        ]);
    }

    public function configureCrud(): Crud
    {
		...
    }
...

Usage

documentation in progress full example:

#config/packages/easy_admin_dashboard.yaml

easy_admin_dashboard:
  title: "Welcome to backend"
  blocks:
    Bloc1:
      label: Products
      size: 12
      css_class: primary
      permissions: ['ROLE_USER']
      items:
        Product:
          label: "Active products in catalog"
          size: 3
          css_class: success text-dark
          class: App\Entity\Product
          controller: App\Controller\Admin\ProductCrudController
          icon:  shopping-cart
          link_label: "Product list"
          permissions: ['ROLE_ADMIN']
          query: MyCustomQuery
        ProductCategory:
          label: "Categories"
          size: 3
          css_class: green
          class: App\Entity\Category
          controller: App\Controller\Admin\ProductCategoryCrudController
          icon:  list-ul
          link_label: "Category list"
          permissions: ['ROLE_ADMIN']
          dql_filter: "entity.is_active = 1"
			

Roadmap and Contributions

Contributions are more than welcome. Fork the project, and submit a PR when you're done.

Remaining todos include:

  • Tests coverage