Exemple #1
0
 /**
  * Removes a node.
  *
  * @param NodeInterface $node - Node.
  *
  * @return NodeInterface
  */
 public function removeNode(NodeInterface $node) : NodeInterface
 {
     unset($this->_nodes[$node->getId()]);
     if ($this->getParent()) {
         $this->getParent()->removeNode($node);
     }
     return $this;
 }
 public function generateNodeRelationsCode(NodeInterface $node)
 {
     $children = $node->getChildren();
     if (!$children) {
         return '';
     }
     $code = '';
     /** @var NodeInterface $child */
     foreach ($children as $child) {
         $code .= '  ' . $node->getId() . ' -> ' . $child->getId();
         $relationsAttributes = $node->getMetadataAttr('graphviz.relationsAttributes.' . $child->getId(), []);
         if ($relationsAttributes) {
             $code .= ' [';
             foreach ($relationsAttributes as $k => $v) {
                 $code .= $k . '=' . $v . ',';
             }
             $code = substr($code, 0, -1) . ']';
         }
         $code .= ';' . PHP_EOL;
     }
     return $code;
 }