add element siblings
This commit is contained in:
parent
eb868679c8
commit
96774d9540
3 changed files with 47 additions and 9 deletions
|
|
@ -27,10 +27,19 @@ class GetElement
|
|||
throw new NotFoundException('Element not found');
|
||||
}
|
||||
|
||||
$parentElement = $element->getParentElement();
|
||||
if ($parentElement === null) {
|
||||
$siblingElements = [$element];
|
||||
} else {
|
||||
$siblingElements = $this->elementRepository
|
||||
->findByParentElement($parentElement);
|
||||
}
|
||||
|
||||
return new GetElementResult(
|
||||
element: $element,
|
||||
childElements: $this->elementRepository
|
||||
->findByParentElement($element),
|
||||
siblingElements: $siblingElements,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,10 +8,12 @@ class GetElementResult
|
|||
{
|
||||
/**
|
||||
* @param Element[] $childElements
|
||||
* @param Element[] $siblingElements
|
||||
*/
|
||||
public function __construct(
|
||||
private Element $element,
|
||||
private array $childElements,
|
||||
private array $siblingElements,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -27,4 +29,12 @@ class GetElementResult
|
|||
{
|
||||
return $this->childElements;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Element[]
|
||||
*/
|
||||
public function getSiblingElements(): array
|
||||
{
|
||||
return $this->siblingElements;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue