session = $session; $this->request = $request; } public function configureActions(Actions $actions): Actions { /* Translatable */ if (in_array(TranslatableInterface::class, class_implements($this->getEntityFqcn()))) { $actions->update( Crud::PAGE_INDEX, Action::EDIT, function (Action $action) { $action->setTemplatePath('@LcSov/adminlte/crud/action/translatable.html.twig'); return $action; } ); } /* Boutons des actions dans les listes */ $listButtonsStyleArray = [ Action::EDIT => [ 'class' => 'btn btn-sm btn-primary', 'icon' => 'edit' ], Action::DELETE => [ 'class' => 'btn btn-sm btn-default', 'icon' => 'trash' ] ]; foreach($listButtonsStyleArray as $actionName => $button) { $actions->update( Crud::PAGE_INDEX, $actionName, function (Action $action) use ($button) { $action->setCssClass($button['class']); $action->setIcon('fa fa-'.$button['icon'])->setLabel(false); return $action; } ); } return $actions; } public function configureCrud(Crud $crud): Crud { $crud = parent::configureCrud($crud);; $this->setMaxResults($crud); return $crud; } public function setMaxResults(Crud $crud) { $entityClass = $this->getEntityFqcn(); $paramListMaxResults = 'listMaxResults'; $paramSessionListMaxResults = $entityClass . '-' . $paramListMaxResults; $requestListMaxResults = $this->request->getCurrentRequest()->get($paramListMaxResults); if ($requestListMaxResults) { $this->session->set($paramSessionListMaxResults, $requestListMaxResults); } $maxResults = $this->session->get($paramSessionListMaxResults) ? $this->session->get( $paramSessionListMaxResults ) : 30; $crud->setPaginatorPageSize($maxResults); } }