/** * Handle the reorder operation. * * @param ReorderEvent $event * * @throws DocumentManagerException */ public function handleReorder(ReorderEvent $event) { $document = $event->getDocument(); $siblingId = $event->getDestId(); $after = $event->getAfter(); $node = $this->documentRegistry->getNodeForDocument($document); $parentNode = $node->getParent(); $nodeName = $node->getName(); $siblingName = $this->resolveSiblingName($siblingId, $parentNode, $node); if (true === $after) { $siblingName = $this->resolveAfterSiblingName($parentNode, $siblingName); } $parentNode->orderBefore($nodeName, $siblingName); }