/** * @param TagManager $tagManager * @param EntityClassResolver $resolver * @param TaggableHelper $helper * @param EntityRoutingHelper $entityRoutingHelper * @param SecurityFacade $securityFacade */ public function __construct(TagManager $tagManager, EntityClassResolver $resolver, TaggableHelper $helper, EntityRoutingHelper $entityRoutingHelper, SecurityFacade $securityFacade) { parent::__construct($tagManager, $resolver); $this->taggableHelper = $helper; $this->entityRoutingHelper = $entityRoutingHelper; $this->securityFacade = $securityFacade; }
/** * @param TagManager $tagManager * @param GridConfigurationHelper $gridConfigurationHelper * @param TaggableHelper $helper * @param EntityRoutingHelper $entityRoutingHelper * @param SecurityFacade $securityFacade */ public function __construct(TagManager $tagManager, GridConfigurationHelper $gridConfigurationHelper, TaggableHelper $helper, EntityRoutingHelper $entityRoutingHelper, SecurityFacade $securityFacade) { parent::__construct($tagManager, $gridConfigurationHelper); $this->taggableHelper = $helper; $this->entityRoutingHelper = $entityRoutingHelper; $this->securityFacade = $securityFacade; }
/** * Returns [['entityClass' => $entityClass, 'idAlias' => $entityIdAlias], ...] for all configured tags columns. * * @param DatagridConfiguration $config * * @return array */ protected function getTagColumnDefinitions(DatagridConfiguration $config) { $aliases = $config->offsetGetByPath(self::GRID_COLUMN_ALIAS_PATH); $tagColumns = []; if (null === $aliases) { return $tagColumns; } $joinIdentifierHelper = $this->getJoinIdentifierHelper(); foreach ($aliases as $key => $alias) { $field = $joinIdentifierHelper->getFieldName($key); if ($field === TagVirtualFieldProvider::TAG_FIELD) { // get entity class from relations aliases if tag_field configured for relations $entityClassName = $joinIdentifierHelper->getEntityClassName($key) ?: parent::getEntityClassName($config); $tagColumns[] = ['idAlias' => $alias, 'entityClass' => $entityClassName]; } } return $tagColumns; }