protected 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->getInputScreenDetails()->getProperties() as $property => $value) {
if (!empty($value['info']['search'])) {
$element->addProperty($property);
}
}
if ($element->getPropertyNames() && !$row->hasElement('search')) {
$row->addElement($element);
}
}