/**
  * @param string $code
  *
  * @return string
  */
 public function filterLabel($code)
 {
     $configuration = $this->manager->getDatagrid('product-grid')->getAcceptor()->getConfig();
     $this->configurator->configure($configuration);
     $label = $configuration->offsetGetByPath(sprintf('[filters][columns][%s][label]', $code));
     if (null === $label) {
         throw new \LogicException(sprintf('Attribute "%s" does not exists', $code));
     }
     return $label;
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $configuration = $this->manager->getDatagrid($this->datagrid)->getAcceptor()->getConfig();
     $this->configurator->configure($configuration);
     $attributes = $configuration->offsetGetByPath('[filters][columns]');
     $configs = $configuration->offsetGetByPath(sprintf(ConfiguratorInterface::SOURCE_PATH, ConfiguratorInterface::USEABLE_ATTRIBUTES_KEY));
     $choices = [];
     foreach ($attributes as $code => $filter) {
         if (in_array($code, $this->disallowed)) {
             continue;
         }
         $group = 'System';
         if (isset($configs[$code])) {
             $group = $configs[$code]['group'];
         }
         $choices[$group][$code] = $filter['label'];
     }
     $resolver->setDefaults(['choices' => $choices]);
 }