vendor/kunstmaan/node-bundle/EventListener/NodeTabListener.php line 23

Open in your IDE?
  1. <?php
  2. namespace Kunstmaan\NodeBundle\EventListener;
  3. use Kunstmaan\AdminBundle\Helper\FormWidgets\FormWidget;
  4. use Kunstmaan\AdminBundle\Helper\FormWidgets\Tabs\Tab;
  5. use Kunstmaan\AdminBundle\Helper\FormWidgets\Tabs\TabPane;
  6. use Kunstmaan\NodeBundle\Entity\HasNodeInterface;
  7. use Kunstmaan\NodeBundle\Entity\PageTabInterface;
  8. use Kunstmaan\NodeBundle\Event\AdaptFormEvent;
  9. class NodeTabListener
  10. {
  11.     public function addTabs(TabPane $tabPanePageTabInterface $page)
  12.     {
  13.         foreach ($page->getTabs() as $pageTab) {
  14.             $formWidget = new FormWidget();
  15.             $formWidget->addType($pageTab->getInternalName(), $pageTab->getFormTypeClass(), $page);
  16.             $tabPane->addTab(new Tab($pageTab->getTabTitle(), $formWidget), $pageTab->getPosition());
  17.         }
  18.     }
  19.     public function adaptForm(AdaptFormEvent $event)
  20.     {
  21.         $page $event->getPage();
  22.         $tabPane $event->getTabPane();
  23.         if ($page instanceof HasNodeInterface === false) {
  24.             return;
  25.         }
  26.         if ($page->isStructureNode() === true) {
  27.             return;
  28.         }
  29.         /** @var PageTabInterface $page */
  30.         if ($page instanceof PageTabInterface === false) {
  31.             return;
  32.         }
  33.         $this->addTabs($tabPane$page);
  34.     }
  35. }