backports murph-skeleton
This commit is contained in:
parent
825a31f671
commit
fef1f0d697
|
@ -57,6 +57,14 @@ class NavigationAdminController extends CrudController
|
|||
return $this->doEdit($entity, $entityManager, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/site/navigation/sort/{page}", name="admin_site_navigation_sort", methods={"POST"}, requirements={"page":"\d+"})
|
||||
*/
|
||||
public function sort(int $page = 1, RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session): Response
|
||||
{
|
||||
return $this->doSort($page, $query, $entityManager, $request, $session);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/site/navigation/delete/{entity}", name="admin_site_navigation_delete", methods={"DELETE"})
|
||||
*/
|
||||
|
@ -77,6 +85,7 @@ class NavigationAdminController extends CrudController
|
|||
->setPageRoute('new', 'admin_site_navigation_new')
|
||||
->setPageRoute('edit', 'admin_site_navigation_edit')
|
||||
->setPageRoute('show', 'admin_site_navigation_show')
|
||||
->setPageRoute('sort', 'admin_site_navigation_sort')
|
||||
->setPageRoute('delete', 'admin_site_navigation_delete')
|
||||
->setPageRoute('filter', 'admin_site_navigation_filter')
|
||||
|
||||
|
@ -87,21 +96,20 @@ class NavigationAdminController extends CrudController
|
|||
->setView('show_entity', '@Core/site/navigation_admin/_show.html.twig')
|
||||
->setView('form', '@Core/site/navigation_admin/_form.html.twig')
|
||||
|
||||
->setIsSortableCollection('index', true)
|
||||
|
||||
->setField('index', 'Label', Field\TextField::class, [
|
||||
'property' => 'label',
|
||||
'attr' => ['class' => 'miw-200'],
|
||||
'sort' => ['label', '.label'],
|
||||
])
|
||||
->setField('index', 'Domain', Field\ButtonField::class, [
|
||||
'property' => 'domain',
|
||||
'button_attr' => ['class' => 'btn btn-light'],
|
||||
'attr' => ['class' => 'miw-200'],
|
||||
'sort' => ['domain', '.domain'],
|
||||
])
|
||||
->setField('index', 'Locale', Field\ButtonField::class, [
|
||||
'property' => 'locale',
|
||||
'button_attr' => ['class' => 'btn btn-light'],
|
||||
'sort' => ['locale', '.locale'],
|
||||
])
|
||||
;
|
||||
}
|
||||
|
|
|
@ -31,7 +31,9 @@ class TreeAdminController extends AdminController
|
|||
}
|
||||
|
||||
if (null === $navigation) {
|
||||
$navigation = $navigationQuery->create()->findOne();
|
||||
$navigation = $navigationQuery->create()
|
||||
->orderBy('.sortOrder')
|
||||
->findOne();
|
||||
}
|
||||
|
||||
if (null === $navigation) {
|
||||
|
@ -55,7 +57,7 @@ class TreeAdminController extends AdminController
|
|||
Session $session
|
||||
): Response {
|
||||
$navigations = $navigationQuery->create()
|
||||
->orderBy('.label, .domain')
|
||||
->orderBy('.sortOrder')
|
||||
->find()
|
||||
;
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ class Navigation implements EntityInterface
|
|||
/**
|
||||
* @ORM\Column(type="text", nullable=true)
|
||||
*/
|
||||
protected $additionalDomains = [];
|
||||
protected $additionalDomains = '[]';
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity=Menu::class, mappedBy="navigation")
|
||||
|
@ -59,6 +59,11 @@ class Navigation implements EntityInterface
|
|||
*/
|
||||
protected $locale = 'en';
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="integer", nullable=true)
|
||||
*/
|
||||
private $sortOrder;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->menus = new ArrayCollection();
|
||||
|
@ -186,4 +191,16 @@ class Navigation implements EntityInterface
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getSortOrder(): ?int
|
||||
{
|
||||
return $this->sortOrder;
|
||||
}
|
||||
|
||||
public function setSortOrder(?int $sortOrder): self
|
||||
{
|
||||
$this->sortOrder = $sortOrder;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ class <?= $class_name; ?> extends CrudController
|
|||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/<?= $route; ?>/sort/{page}", name="admin_<?= $route; ?>_sort", methods={"POST"})
|
||||
* @Route("/admin/<?= $route; ?>/sort/{page}", name="admin_<?= $route; ?>_sort", methods={"POST"}, requirements={"page":"\d+"})
|
||||
*/
|
||||
public function sort(int $page = 1, RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session): Response
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue