From 635f9b99ceaa9ba033bceef7992123d324ccff29 Mon Sep 17 00:00:00 2001 From: Florian Merle Date: Mon, 21 Apr 2025 17:03:34 +0200 Subject: [PATCH] Fix grid sorting bc break --- .../Configuration/GridConfigurationSortingHandler.php | 4 ++++ .../Configuration/GridConfigurationSortingHandlerTest.php | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Component/Configuration/GridConfigurationSortingHandler.php b/src/Component/Configuration/GridConfigurationSortingHandler.php index d6ceef20..ba6f7fc6 100644 --- a/src/Component/Configuration/GridConfigurationSortingHandler.php +++ b/src/Component/Configuration/GridConfigurationSortingHandler.php @@ -26,6 +26,10 @@ public function handle(array $gridConfiguration): array foreach ($gridConfiguration['sorting'] as $sorting => $order) { Assert::keyExists($gridConfiguration['fields'] ?? [], $sorting); + if (isset($gridConfiguration['fields'][$sorting]['sortable'])) { + continue; + } + $gridConfiguration['fields'][$sorting]['sortable'] = true; } diff --git a/src/Component/Tests/Unit/Configuration/GridConfigurationSortingHandlerTest.php b/src/Component/Tests/Unit/Configuration/GridConfigurationSortingHandlerTest.php index d4abd66a..e23611a2 100644 --- a/src/Component/Tests/Unit/Configuration/GridConfigurationSortingHandlerTest.php +++ b/src/Component/Tests/Unit/Configuration/GridConfigurationSortingHandlerTest.php @@ -25,24 +25,28 @@ public function testHandle(): void 'title' => [], 'author' => ['sortable' => false], 'price' => ['sortable' => true], + 'name' => ['sortable' => 'translation.name'], ], 'sorting' => [ 'title' => 'asc', 'author' => 'asc', 'price' => 'asc', + 'name' => 'asc', ], ]; - $this->assertEquals([ + $this->assertSame([ 'fields' => [ 'title' => ['sortable' => true], - 'author' => ['sortable' => true], + 'author' => ['sortable' => false], 'price' => ['sortable' => true], + 'name' => ['sortable' => 'translation.name'], ], 'sorting' => [ 'title' => 'asc', 'author' => 'asc', 'price' => 'asc', + 'name' => 'asc', ], ], (new GridConfigurationSortingHandler())->handle($gridConfiguration)); }