21 private $configStructure;
26 private $resultBuilder;
34 $this->configStructure = $configStructure;
35 $this->resultBuilder = $resultBuilder;
70 $this->
setData(
'results', $results);
79 return $this->
getData(
'results');
89 $this->findInStructure($this->configStructure->getTabs(), $this->
getQuery());
90 $this->
setResults($this->resultBuilder->getAll());
101 private function findInStructure(
ElementIterator $structureElementIterator, $searchTerm, $pathLabel =
'')
103 if (empty($searchTerm)) {
106 foreach ($structureElementIterator as $structureElement) {
107 if (mb_stripos((
string)$structureElement->getLabel(), $searchTerm) !==
false) {
108 $this->resultBuilder->add($structureElement, $pathLabel);
110 $elementPathLabel = $pathLabel .
' / ' . $structureElement->getLabel();
111 if ($structureElement instanceof AbstractComposite && $structureElement->hasChildren()) {
112 $this->findInStructure($structureElement->getChildren(), $searchTerm, $elementPathLabel);
getData($key='', $index=null)
__construct(Structure $configStructure, Builder $resultBuilder)
setResults(array $results)
setData($key, $value=null)