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

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.     /**
  20.      * @param AdaptFormEvent $event
  21.      */
  22.     public function adaptForm(AdaptFormEvent $event)
  23.     {
  24.         $page $event->getPage();
  25.         $tabPane $event->getTabPane();
  26.         if ($page instanceof HasNodeInterface === false) {
  27.             return;
  28.         }
  29.         if ($page->isStructureNode() === true) {
  30.             return;
  31.         }
  32.         /** @var PageTabInterface $page */
  33.         if ($page instanceof PageTabInterface === false) {
  34.             return;
  35.         }
  36.         $this->addTabs($tabPane$page);
  37.     }
  38. }