Skip to content

Commit ad47c8d

Browse files
committed
Allow to configure default table page length via Settings UI
1 parent 0dbf417 commit ad47c8d

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

src/Controller/AttachmentFileController.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
use App\Form\Filters\AttachmentFilterType;
2929
use App\Services\Attachments\AttachmentManager;
3030
use App\Services\Trees\NodesListBuilder;
31+
use App\Settings\BehaviorSettings\TableSettings;
3132
use Omines\DataTablesBundle\DataTableFactory;
3233
use RuntimeException;
3334
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -98,7 +99,8 @@ public function view(Attachment $attachment, AttachmentManager $helper): BinaryF
9899
}
99100

100101
#[Route(path: '/attachment/list', name: 'attachment_list')]
101-
public function attachmentsTable(Request $request, DataTableFactory $dataTableFactory, NodesListBuilder $nodesListBuilder): Response
102+
public function attachmentsTable(Request $request, DataTableFactory $dataTableFactory, NodesListBuilder $nodesListBuilder,
103+
TableSettings $tableSettings): Response
102104
{
103105
$this->denyAccessUnlessGranted('@attachments.list_attachments');
104106

@@ -110,7 +112,7 @@ public function attachmentsTable(Request $request, DataTableFactory $dataTableFa
110112

111113
$filterForm->handleRequest($formRequest);
112114

113-
$table = $dataTableFactory->createFromType(AttachmentDataTable::class, ['filter' => $filter])
115+
$table = $dataTableFactory->createFromType(AttachmentDataTable::class, ['filter' => $filter], ['pageLength' => $tableSettings->fullDefaultPageSize])
114116
->handleRequest($request);
115117

116118
if ($table->isCallback()) {

src/Controller/LogController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
use App\Services\LogSystem\LogLevelHelper;
3939
use App\Services\LogSystem\LogTargetHelper;
4040
use App\Services\LogSystem\TimeTravel;
41+
use App\Settings\BehaviorSettings\TableSettings;
4142
use Doctrine\ORM\EntityManagerInterface;
4243
use InvalidArgumentException;
4344
use Omines\DataTablesBundle\DataTableFactory;
@@ -58,7 +59,7 @@ public function __construct(protected EntityManagerInterface $entityManager, pro
5859
}
5960

6061
#[Route(path: '/', name: 'log_view')]
61-
public function showLogs(Request $request, DataTableFactory $dataTable): Response
62+
public function showLogs(Request $request, DataTableFactory $dataTable, TableSettings $tableSettings): Response
6263
{
6364
$this->denyAccessUnlessGranted('@system.show_logs');
6465

@@ -72,7 +73,7 @@ public function showLogs(Request $request, DataTableFactory $dataTable): Respons
7273

7374
$table = $dataTable->createFromType(LogDataTable::class, [
7475
'filter' => $filter,
75-
])
76+
], ['pageLength' => $tableSettings->fullDefaultPageSize])
7677
->handleRequest($request);
7778

7879
if ($table->isCallback()) {

src/Controller/PartListsController.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
use App\Form\Filters\PartFilterType;
3636
use App\Services\Parts\PartsTableActionHandler;
3737
use App\Services\Trees\NodesListBuilder;
38+
use App\Settings\BehaviorSettings\TableSettings;
3839
use Doctrine\DBAL\Exception\DriverException;
3940
use Doctrine\ORM\EntityManagerInterface;
4041
use Omines\DataTablesBundle\DataTableFactory;
@@ -47,7 +48,12 @@
4748

4849
class PartListsController extends AbstractController
4950
{
50-
public function __construct(private readonly EntityManagerInterface $entityManager, private readonly NodesListBuilder $nodesListBuilder, private readonly DataTableFactory $dataTableFactory, private readonly TranslatorInterface $translator)
51+
public function __construct(private readonly EntityManagerInterface $entityManager,
52+
private readonly NodesListBuilder $nodesListBuilder,
53+
private readonly DataTableFactory $dataTableFactory,
54+
private readonly TranslatorInterface $translator,
55+
private readonly TableSettings $tableSettings
56+
)
5157
{
5258
}
5359

@@ -131,7 +137,7 @@ protected function showListWithFilter(Request $request, string $template, ?calla
131137

132138
$filterForm->handleRequest($formRequest);
133139

134-
$table = $this->dataTableFactory->createFromType(PartsDataTable::class, array_merge(['filter' => $filter], $additional_table_vars))
140+
$table = $this->dataTableFactory->createFromType(PartsDataTable::class, array_merge(['filter' => $filter], $additional_table_vars), ['pageLength' => $this->tableSettings->fullDefaultPageSize])
135141
->handleRequest($request);
136142

137143
if ($table->isCallback()) {

src/Controller/ProjectController.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
use App\Helpers\Projects\ProjectBuildRequest;
3232
use App\Services\ImportExportSystem\BOMImporter;
3333
use App\Services\ProjectSystem\ProjectBuildHelper;
34+
use App\Settings\BehaviorSettings\TableSettings;
3435
use Doctrine\Common\Collections\ArrayCollection;
3536
use Doctrine\ORM\EntityManagerInterface;
3637
use League\Csv\SyntaxError;
@@ -55,11 +56,12 @@ public function __construct(private readonly DataTableFactory $dataTableFactory)
5556
}
5657

5758
#[Route(path: '/{id}/info', name: 'project_info', requirements: ['id' => '\d+'])]
58-
public function info(Project $project, Request $request, ProjectBuildHelper $buildHelper): Response
59+
public function info(Project $project, Request $request, ProjectBuildHelper $buildHelper, TableSettings $tableSettings): Response
5960
{
6061
$this->denyAccessUnlessGranted('read', $project);
6162

62-
$table = $this->dataTableFactory->createFromType(ProjectBomEntriesDataTable::class, ['project' => $project])
63+
$table = $this->dataTableFactory->createFromType(ProjectBomEntriesDataTable::class, ['project' => $project],
64+
['pageLength' => $tableSettings->fullDefaultPageSize])
6365
->handleRequest($request);
6466

6567
if ($table->isCallback()) {

0 commit comments

Comments
 (0)