<?php
namespace App\Controller;
use App\Entity\Components\Components;
use App\Entity\Components\HardComponent;
use App\Repository\CompanyRepository;
use App\Repository\Components\ComponentCategoryRepository;
use App\Repository\Components\ComponentsRepository;
use App\Repository\Components\HardComponentRepository;
use App\Repository\Page\PageRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class AjaxController extends AbstractController
{
#[Route('/dynamic-style.css', name: 'dynamic_style')]
public function css(): Response
{
$response = new Response($this->renderView('component/_style.html.twig'));
$response->headers->set('Content-Type', 'text/css');
return $response;
}
#[Route('/components/{id}', name: 'app_wig_component')]
public function getComponent(Components $components)
{
$data = $this->renderView('/ajax/_component.html.twig', compact('components'));
return new JsonResponse([
'content' => $data
]);
}
#[Route('/widget/{id}', name: 'app_wig_widget')]
public function getWidget(HardComponent $components)
{
$data = $this->renderView('/ajax/_widgetcall.html.twig', compact('components'));
return new JsonResponse([
'content' => $data
]);
}
#[Route('/widget-render/{id}', name: 'app_wig_widget_render')]
public function renderWidget(HardComponent $components)
{
$data = $this->renderView('/ajax/_component.html.twig', compact('components'));
return new JsonResponse([
'content' => $data
]);
}
#[Route('/pages/wig', name: 'app_wig_pages')]
public function getPages(PageRepository $pageRepository)
{
$pages = $pageRepository->findAll();
$data = $this->renderView('/ajax/_pages.html.twig', compact('pages'));
return new JsonResponse([
'content' => $data
]);
}
#[Route('/category-all/editor', name: 'app_admin_components_ajax_category_all')]
public function ajaxGetCategory(ComponentCategoryRepository $repository, ComponentsRepository $componentsRepository)
{
$categories = $repository->findAll();
$components = $componentsRepository->searchByCategoryNull();
$data = $this->renderView('/component/_components.html.twig', compact('categories', 'components'));
return new JsonResponse([
'content' => $data
]);
}
#[Route('/widget-all/editor', name: 'app_admin_components_ajax_widget_all')]
public function ajaxGetwidget(HardComponentRepository $repository)
{
$widgets = $repository->findAll();
$data = $this->renderView('/component/_widgets.html.twig', compact('widgets'));
return new JsonResponse([
'content' => $data
]);
}
}