Change snip content text rebuilding to static, allowing a lot cleaner interface getting the lastest text
This commit is contained in:
@ -29,13 +29,13 @@ class ApiController extends AbstractApiController
|
||||
}
|
||||
|
||||
#[Route('/snip/{snip}', methods: ['GET'])]
|
||||
public function getSnip(Snip $snip, SnipContentService $cs): Response
|
||||
public function getSnip(Snip $snip): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted(SnipVoter::VIEW, $snip);
|
||||
|
||||
return $this->successResponse([
|
||||
'id' => $snip->getId(),
|
||||
'content' => $cs->getActiveText($snip),
|
||||
'content' => $snip->getActiveText(),
|
||||
'createdBy' => [
|
||||
'id' => $snip->getCreatedBy()->getId(),
|
||||
'name' => $snip->getCreatedBy()->getName(),
|
||||
@ -66,7 +66,7 @@ class ApiController extends AbstractApiController
|
||||
return $this->successResponse([
|
||||
'id' => $snip->getId(),
|
||||
'name' => $snip->getName(),
|
||||
'content' => $cs->getActiveText($snip),
|
||||
'content' => $snip->getActiveText(),
|
||||
'createdBy' => [
|
||||
'id' => $snip->getCreatedBy()->getId(),
|
||||
'name' => $snip->getCreatedBy()->getName(),
|
||||
|
@ -13,9 +13,7 @@ use Symfony\Component\Routing\Attribute\Route;
|
||||
#[Route('/content', name: 'content')]
|
||||
class SnipContentController extends AbstractController
|
||||
{
|
||||
public function __construct(
|
||||
private readonly SnipContentService $contentService,
|
||||
) {}
|
||||
public function __construct() {}
|
||||
|
||||
#[Route('/compare/{to}/{from}', name: '_compare')]
|
||||
public function compare(SnipContent $to, ?SnipContent $from = null): Response
|
||||
@ -27,8 +25,8 @@ class SnipContentController extends AbstractController
|
||||
}
|
||||
|
||||
$diff = MyersDiff::buildDiffLines(
|
||||
$this->contentService->rebuildText($from),
|
||||
$this->contentService->rebuildText($to),
|
||||
SnipContentService::rebuildText($from),
|
||||
SnipContentService::rebuildText($to),
|
||||
);
|
||||
|
||||
return $this->render('content/compare.html.twig', [
|
||||
|
@ -21,8 +21,7 @@ use Symfony\Component\Routing\Attribute\Route;
|
||||
class SnipController extends AbstractController
|
||||
{
|
||||
public function __construct(
|
||||
private readonly SnipRepository $repository,
|
||||
private readonly SnipContentService $contentService,
|
||||
private readonly SnipRepository $repository,
|
||||
) {}
|
||||
|
||||
#[Route('/', name: '_index')]
|
||||
@ -49,7 +48,7 @@ class SnipController extends AbstractController
|
||||
|
||||
return $this->render('snip/single.html.twig', [
|
||||
'snip' => $snip,
|
||||
'content' => $pf->getBySnip($snip)->parseView($this->contentService->getActiveText($snip)),
|
||||
'content' => $pf->getBySnip($snip)->parseView($snip->getActiveText()),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -59,7 +58,7 @@ class SnipController extends AbstractController
|
||||
$this->denyAccessUnlessGranted(SnipVoter::VIEW, $snip);
|
||||
|
||||
$response = new Response(
|
||||
$pf->getBySnip($snip)->parseRaw($this->contentService->getActiveText($snip)),
|
||||
$pf->getBySnip($snip)->parseRaw($snip->getActiveText()),
|
||||
Response::HTTP_OK,
|
||||
['Content-Type' => 'text/html']
|
||||
);
|
||||
@ -78,7 +77,7 @@ class SnipController extends AbstractController
|
||||
}
|
||||
|
||||
#[Route('/edit/{snip}', name: '_edit')]
|
||||
public function edit(Snip $snip, Request $request): Response
|
||||
public function edit(Snip $snip, Request $request, SnipContentService $contentService): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted(SnipVoter::EDIT, $snip);
|
||||
|
||||
@ -94,7 +93,7 @@ class SnipController extends AbstractController
|
||||
$form = $this->createForm(SnipType::class, $snip);
|
||||
$form->add('Save', SubmitType::class);
|
||||
if ($snip->getId()) {
|
||||
$form->get('content')->setData($this->contentService->getActiveText($snip));
|
||||
$form->get('content')->setData($snip->getActiveText());
|
||||
}
|
||||
|
||||
$form->handleRequest($request);
|
||||
@ -105,7 +104,7 @@ class SnipController extends AbstractController
|
||||
]);
|
||||
}
|
||||
$this->repository->save($snip);
|
||||
$this->contentService->update($snip, $form->get('content')->getData());
|
||||
$contentService->update($snip, $form->get('content')->getData());
|
||||
|
||||
$this->addFlash('success', sprintf('Snip "%s" saved', $snip));
|
||||
|
||||
|
Reference in New Issue
Block a user