protected function createComponentTable() { $_this = $this; $repository = $this->getRepository(); $formFactory = $this->getFormFactory(); if (!$repository instanceof BaseRepository) { throw new InvalidArgumentException("Method 'getRepository' must return repository."); } if (!$formFactory instanceof FormFactory) { throw new InvalidArgumentException("Method 'getFormFactory' must return formFactory."); } $adminControl = new RouteItemsControl($repository, $this->getExtendedPage()); $admin = $adminControl->getTable(); $table = $admin->getTable(); $entity = $this->extendedPage; $form = $admin->createForm($formFactory, '', function () use($repository, $entity, $_this) { $entity = $repository->createNew(array($entity)); if ($_this->presenter->user->identity instanceof UserEntity) { $entity->route->author = $_this->presenter->user->identity; } return $entity; }, \CmsModule\Components\Table\Form::TYPE_FULL); $admin->connectFormWithAction($form, $table->getAction('edit'), $admin::MODE_PLACE); // Toolbar $toolbar = $admin->getNavbar(); $toolbar->addSection('new', 'Create', 'file'); $admin->connectFormWithNavbar($form, $toolbar->getSection('new'), $admin::MODE_PLACE); $table->addAction('delete', 'Delete')->getElementPrototype()->class[] = 'ajax'; $admin->connectActionAsDelete($table->getAction('delete')); return $adminControl; }
protected function createComponentTable() { $adminControl = new RouteItemsControl($this->categoryRepository, $this->getExtendedPage()); $admin = $adminControl->getTable(); $table = $admin->getTable(); $repository = $this->categoryRepository; $entity = $this->extendedPage; $form = $admin->createForm($this->categoryFormFactory, 'Category', function () use($repository, $entity) { return $repository->createNew(array($entity)); }, \CmsModule\Components\Table\Form::TYPE_LARGE); $admin->connectFormWithAction($form, $table->getAction('edit')); // Toolbar $toolbar = $admin->getNavbar(); $toolbar->addSection('new', 'Create', 'file'); $admin->connectFormWithNavbar($form, $toolbar->getSection('new')); $table->addAction('delete', 'Delete')->getElementPrototype()->class[] = 'ajax'; $admin->connectActionAsDelete($table->getAction('delete')); return $adminControl; }
protected function createComponentTable() { $adminControl = new RouteItemsControl($this->commentRepository, $this->getExtendedPage()); $admin = $adminControl->getTable(); $table = $admin->getTable(); $table->setModel(new Doctrine($this->commentRepository->createQueryBuilder('a')->andWhere('a.extendedPage = :page')->setParameter('page', $this->extendedPage->id))); $repository = $this->commentRepository; $entity = $this->extendedPage; $form = $admin->createForm($this->commentFormFactory, 'Comment', function () use($repository, $entity) { return $repository->createNew(array($entity)); }, \CmsModule\Components\Table\Form::TYPE_FULL); $admin->connectFormWithAction($form, $table->getAction('edit'), $admin::MODE_PLACE); // Toolbar $toolbar = $admin->getNavbar(); $toolbar->addSection('new', 'Create', 'file'); $admin->connectFormWithNavbar($form, $toolbar->getSection('new'), $admin::MODE_PLACE); $table->addAction('delete', 'Delete')->getElementPrototype()->class[] = 'ajax'; $admin->connectActionAsDelete($table->getAction('delete')); return $adminControl; }