src/CoreBundle/EventListener/DcGeneral/DefinitionBuilder/PanelBuilder.php
private function parsePanelSearch(PanelRowInterface $row)
    {
        if ($row->hasElement('search')) {
            $element = $row->getElement('search');
        } else {
            $element = new DefaultSearchElementInformation();
        }

        if (!$element instanceof SearchElementInformationInterface) {
            throw new \InvalidArgumentException('Search element does not implement the correct interface.');
        }

        foreach ($this->inputScreen['properties'] as $value) {
            if (!empty($value['search'])) {
                $element->addProperty($value['col_name']);
            }
        }

        if ($element->getPropertyNames() && !$row->hasElement('search')) {
            $row->addElement($element);
        }
    }
private function parsePanelSearch(PanelRowInterface $row)
    {
        if ($row->hasElement('search')) {
            $element = $row->getElement('search');
        } else {
            $element = new DefaultSearchElementInformation();
        }

        if (!$element instanceof SearchElementInformationInterface) {
            throw new \InvalidArgumentException('Search element does not implement the correct interface.');
        }

        foreach ($this->inputScreen['properties'] as $value) {
            if (!empty($value['search'])) {
                $element->addProperty($value['col_name']);
            }
        }

        if ($element->getPropertyNames() && !$row->hasElement('search')) {
            $row->addElement($element);
        }
    }
Add search element to the panel.

@param PanelRowInterface $row The row to which the element shall get added to.

@return void

@throws \InvalidArgumentException When the search element does not implement the correct interface.