easyadminfriends / easyadmindashboard-bundle
Dashboard/Homepage page for EasyAdminBundle
Installs: 257
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.2.0
- easycorp/easyadmin-bundle: >=3.0
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.
Requirements
This bundle requires, in addition to prerequisites of each PHPOffice library:
* PHP 8.0 or higher
* Symfony 5.3 or higher
* EasyAdmin 3 or 4
Installation
Use composer to require the latest stable version.
$ composer require easyadminfriends/easyadmindashboard-bundle:2.x
Enable the bundle in your config/bundles.php
file.
return [ [...] EasyAdminFriends\EasyAdminDashboardBundle\EasyAdminDashboardBundle::class => ['all' => true], ];
Add Dashboard service :
#config/services.yaml services: EasyAdminFriends\EasyAdminDashboardBundle\Controller\DefaultController: public: true tags: ['doctrine']
Generate dashboard items inside Easyadmin Dashboard Controller
#App\Controller\Admin\DashboardController ... use EasyAdminFriends\EasyAdminDashboardBundle\Controller\DefaultController as EasyAdminDashboard; class DashboardController extends AbstractDashboardController { private $easyAdminDashboard; public function __construct(EasyAdminDashboard $easyAdminDashboard) { $this->easyAdminDashboard = $easyAdminDashboard; } public function index(): Response { return $this->render('@EasyAdminDashboard/Default/index.html.twig', array( 'dashboard' => $this->easyAdminDashboard->generateDashboardValues(), 'layout_template_path' => $this->easyAdminDashboard->getLayoutTemplate() )); } public function configureCrud(): Crud { ... } ...
Usage
documentation in progress full example:
#config/packages/easy_admin_dashboard.yaml parameters: 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
- Improved documentation