add crud sorting in the session
This commit is contained in:
parent
45b3f6bb80
commit
f97f1dfedf
|
@ -395,9 +395,24 @@ abstract class CrudController extends AdminController
|
||||||
}
|
}
|
||||||
|
|
||||||
$defaultSort = $configuration->getDefaultSort($context);
|
$defaultSort = $configuration->getDefaultSort($context);
|
||||||
|
$session = $request->getSession();
|
||||||
|
|
||||||
$name = $request->query->get('_sort', $defaultSort['label'] ?? null);
|
$sessionId = sprintf('%s_%s_sort', $context, get_called_class());
|
||||||
$direction = strtolower($request->query->get('_sort_direction', $defaultSort['direction'] ?? 'asc'));
|
$sessionSortName = sprintf('%s_label', $sessionId);
|
||||||
|
$sessionSortDirection = sprintf('%s_direction', $sessionId);
|
||||||
|
|
||||||
|
$name = strtolower($request->query->get(
|
||||||
|
'_sort',
|
||||||
|
$session->get($sessionSortName, $defaultSort['label'] ?? 'asc')
|
||||||
|
));
|
||||||
|
|
||||||
|
$direction = strtolower($request->query->get(
|
||||||
|
'_sort_direction',
|
||||||
|
$session->get($sessionSortDirection, $defaultSort['direction'] ?? 'asc')
|
||||||
|
));
|
||||||
|
|
||||||
|
$session->set($sessionSortName, $name);
|
||||||
|
$session->set($sessionSortDirection, $direction);
|
||||||
|
|
||||||
if (!in_array($direction, ['asc', 'desc'])) {
|
if (!in_array($direction, ['asc', 'desc'])) {
|
||||||
$direction = 'asc';
|
$direction = 'asc';
|
||||||
|
|
Loading…
Reference in a new issue