コード例 #1
0
ファイル: HtmlPrinter.php プロジェクト: realholgi/beetree
 public function toJsTree(NodeInterface $node, $titleProperty, $currentIdentifier = '', &$string = NULL)
 {
     if ($string === NULL) {
         $string = '<ul>';
     }
     $liClasses = ['jstree-open'];
     if ($node->isRootNode()) {
         $liClasses[] = 'root-node';
     }
     $spanClasses = [];
     if ($currentIdentifier == $node->getIdentifier()) {
         $spanClasses[] = 'active';
     }
     $liClass = implode(' ', $liClasses);
     $spanClass = implode(' ', $spanClasses);
     $title = $node->{$titleProperty};
     $id = $node->getIdentifier();
     $string .= "\n    <li id=\"node-{$id}\" class=\"{$liClass}\"><span class=\"{$spanClass}\">{$title}</span>";
     if (count($node->childNodes())) {
         $string .= "\n    <ul>";
         foreach ($node->childNodes() as $child) {
             $this->toJsTree($child, $titleProperty, $currentIdentifier, $string);
         }
         $string .= "\n    </ul>";
     }
     $string .= "</li>";
     return $string . "\n</ul>";
 }