mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-29 10:05:03 +00:00
Adding the file for visitor pattern + function that need to be implemented.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/*
|
||||
* Chill is a software for social workers
|
||||
*
|
||||
* For the full copyright and license information, please view
|
||||
* the LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Chill\MainBundle\Controller;
|
||||
|
||||
use Chill\MainBundle\Widget\WidgetManager;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
class DashboardHomepageController extends AbstractController{
|
||||
|
||||
/**
|
||||
* @Route("/dashboard-chart-data", name="dashboard_chart_data")
|
||||
*/
|
||||
public function index(): JsonResponse
|
||||
{
|
||||
// Retrieve data and prepare it for the chart
|
||||
$chartData = [
|
||||
'labels' => ['Label 1', 'Label 2', 'Label 3'],
|
||||
'datasets' => [
|
||||
[
|
||||
'label' => 'Dataset 1',
|
||||
'data' => [10, 20, 30],
|
||||
'backgroundColor' => ['rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)'],
|
||||
'borderColor' => ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)'],
|
||||
'borderWidth' => 1,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
//Return the chart data as JSON response
|
||||
return $this->json($chartData);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/widget/{context}, name="widget_data")
|
||||
*/
|
||||
public function getWidgetData(Request $request, $context, WidgetManager $widgetManager): JsonResponse
|
||||
{
|
||||
|
||||
//Retrieve data from request in vue component
|
||||
$requestData = json_decode($request->getContent(),true);
|
||||
|
||||
// Process the widget data using the WidgetManager
|
||||
$widgetData = $widgetManager->getDataForWidget($requestData, $context);
|
||||
|
||||
// Return the widget data in JSON response
|
||||
return new JsonResponse($widgetData);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user