コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     if ($context->hasFilters()) {
         // a filters' definition is already built
         return;
     }
     $context->setFilters(ConfigUtil::getInitialConfig());
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     $filters = $context->getFilters();
     if (empty($filters) || empty($filters[ConfigUtil::FIELDS])) {
         // a configuration of filters does not exist
         return;
     }
     foreach ($filters[ConfigUtil::FIELDS] as &$filterConfig) {
         $this->normalizeAttribute($filterConfig, ConfigUtil::DESCRIPTION);
     }
     $context->setFilters($filters);
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     $filters = $context->getFilters();
     if (null === $filters) {
         // a filters' configuration does not exist
         return;
     }
     $entityClass = $context->getClassName();
     if (!$this->doctrineHelper->isManageableEntityClass($entityClass)) {
         // only manageable entities are supported
         return;
     }
     $context->setFilters($this->removeDuplicates($filters, $entityClass));
 }
コード例 #4
0
ファイル: NormalizeFilters.php プロジェクト: Maksold/platform
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     $filters = $context->getFilters();
     if (null === $filters) {
         // a filters' configuration does not exist
         return;
     }
     $definition = $context->getResult();
     if (null === $definition) {
         // an entity configuration does not exist
         return;
     }
     $this->collect($filters, ConfigUtil::FILTERS, $definition);
     $context->setFilters($filters);
 }
コード例 #5
0
ファイル: CompleteFilters.php プロジェクト: Maksold/platform
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     $filters = $context->getFilters();
     if (empty($filters)) {
         // nothing to normalize
         return;
     }
     $fields = ConfigUtil::getArrayValue($filters, ConfigUtil::FIELDS);
     if (ConfigUtil::isExcludeAll($filters)) {
         $fields = ConfigUtil::removeExclusions($fields);
     } else {
         $entityClass = $context->getClassName();
         if ($this->doctrineHelper->isManageableEntityClass($entityClass)) {
             $fields = ConfigUtil::removeExclusions($this->completeFilters($fields, $entityClass, $context->getResult()));
         }
     }
     $context->setFilters([ConfigUtil::EXCLUSION_POLICY => ConfigUtil::EXCLUSION_POLICY_ALL, ConfigUtil::FIELDS => $fields]);
 }
コード例 #6
0
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     $filters = $context->getFilters();
     if (empty($filters) || empty($filters[ConfigUtil::FIELDS])) {
         // a configuration of filters does not exist
         return;
     }
     $entityClass = $context->getClassName();
     if (!$this->entityConfigProvider->hasConfig($entityClass)) {
         // only configurable entities are supported
         return;
     }
     foreach ($filters[ConfigUtil::FIELDS] as $filterKey => &$filterConfig) {
         if (!isset($filterConfig[ConfigUtil::DESCRIPTION])) {
             $config = $this->findFieldConfig($entityClass, $filterKey, $filterConfig);
             if (null !== $config) {
                 $filterConfig[ConfigUtil::DESCRIPTION] = new Label($config->get('label'));
             }
         }
     }
     $context->setFilters($filters);
 }