private function mainTreeRender(Tree &$tree, $selectedKey) { $li = new Li(); $mainDiv = new Div(); $mainDiv->addStyleClasses(["expand", "text_non_select", "tree_text_node", "input_hover"]); $table = new Table(); $tr = new Tr(); $nodeIcon = new Td(); $nodeText = new Td(); $nodeText->addStyleClass("tree_text"); $nodeSearchCount = new Td(); $nodeSearchCount->addStyleClass("tree_search_count"); if (count($tree->childrens) > 0) { $nodeIcon->addStyleClasses(["tree_btn"]); $icon = new Img(); $icon->addAttribute("style", "top: 2px; position: relative; margin: 0 5px;"); $icon->addAttribute("src", $this->treeLevel <= $this->DEFAULT_TREE_LEVEL_TO_SHOW || $tree->show ? "images/arrow90.png" : "images/arrow00.png"); $nodeIcon->addChild($icon); } else { $nodeIcon->addStyleClass("tree_empty"); } $link = new A(); $link->addAttribute("href", URLBuilder::getCatalogLinkForTree($tree->key)); $link->addChild($tree->value); $link->addStyleClass("input_hover"); $nodeSelected = new Div(); $nodeSelected->addStyleClass($tree->key == $selectedKey ? 'selected' : 'tree_empty'); $link->addChild($nodeSelected); $nodeText->addChild($link); return $li->addChild($mainDiv->addChild($table->addChild($tr->addChildList([$nodeIcon, $nodeText, $nodeSearchCount])))); }
private function bottomTreeRender(Tree &$tree, $isRoot) { $children = count($tree->childrens); $span = new Li(); $mainDiv = new Div(); $span->addStyleClass($isRoot); /*if ($children == 0) {*/ $mainDiv = new A(); $span->addChild($mainDiv); $mainDiv->addStyleClasses(["f-17", "cursor_pointer", "bottom_tree_hover", "label"]); $mainDiv->addAttribute(TagLabels::HREF, URLBuilder::getCatalogLinkForTree($tree->key)); /*} else { $span->addChild($mainDiv); $mainDiv->addStyleClasses(["f-17", "label"]); }*/ $mainDiv->addChild($tree->value); return $span; }
public static function getDOMForSingleItemPageFromTree($key) { $mainTag = new Div(); $mainTag->addStyleClasses(["catalog_tree"]); $treeUtils = new TreeUtils(); $mainTree = $treeUtils->buildTreeByLeafs(); $path = $treeUtils->getTreePath($mainTree, $key); $data = [self::getArrayItemForDefaultLink()]; for ($pathIndex = 1; $pathIndex < count($path); $pathIndex++) { $item = []; $trimText = Utils::trimStr($path[$pathIndex]->value, Constants::DEFAULT_TEXT_LENGTH_FOR_CATALOG_PATH_LINK); if ($pathIndex == count($path) - 1) { $pageNumber = Utils::getFromGET(UrlParameters::PAGE_NUM); $itemsCount = Utils::getFromGET(UrlParameters::ITEMS_COUNT); $item[0] = $trimText; $item[1] = URLBuilder::getSingleItemLinkBack($pageNumber, $itemsCount); } else { $item[0] = $trimText; $item[1] = URLBuilder::getCatalogLinkForTree($path[$pathIndex]->key); } array_push($data, $item); } $mainTag->addChildList(self::buildPathLink($data)); return $mainTag; }