protected function render_navigation_node(navigation_node $item) { $content = $item->get_content(); $title = $item->get_title(); if ($item->icon instanceof renderable && !$item->hideicon) { $icon = $this->render($item->icon); $content = $icon.$content; // use CSS for spacing of icons } if ($item->helpbutton !== null) { $content = trim($item->helpbutton).html_writer::tag('span', $content, array('class'=>'clearhelpbutton')); } if ($content === '') { return ''; } if ($item->action instanceof action_link) { //TODO: to be replaced with something else $link = $item->action; if ($item->hidden) { $link->add_class('dimmed'); } $content = $this->render($link); } else if ($item->action instanceof moodle_url) { $attributes = array(); if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::link($item->action, $content, $attributes); } else if (is_string($item->action) || empty($item->action)) { $attributes = array(); if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::tag('span', $content, $attributes); } return $content; }
/** * Renders a navigation node object. * * @param navigation_node $item The navigation node to render. * @return string HTML fragment */ protected function render_navigation_node(navigation_node $item) { $content = $item->get_content(); $title = $item->get_title(); if ($item->icon instanceof renderable && !$item->hideicon) { $icon = $this->render($item->icon); $content = $icon.$content; // use CSS for spacing of icons } if ($item->helpbutton !== null) { $content = trim($item->helpbutton).html_writer::tag('span', $content, array('class'=>'clearhelpbutton', 'tabindex'=>'0')); } if ($content === '') { return ''; } if ($item->action instanceof action_link) { $link = $item->action; if ($item->hidden) { $link->add_class('dimmed'); } if (!empty($content)) { // Providing there is content we will use that for the link content. $link->text = $content; } $content = $this->render($link); } else if ($item->action instanceof moodle_url) { $attributes = array(); if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::link($item->action, $content, $attributes); } else if (is_string($item->action) || empty($item->action)) { $attributes = array('tabindex'=>'0'); //add tab support to span but still maintain character stream sequence. if ($title !== '') { $attributes['title'] = $title; } if ($item->hidden) { $attributes['class'] = 'dimmed_text'; } $content = html_writer::tag('span', $content, $attributes); } return $content; }
public function render_navigation_node(navigation_node $node, $expansionlimit, $hr = false) { $content = ''; if ($node->children->count()) { $content = $this->navigation_node($node->children, array('class' => ''), $expansionlimit); $span = html_writer::tag('span', $node->get_content(), array('class' => 'item_name')); $p = html_writer::tag('p', $span, array('class' => 'cm_tree_item tree_item branch')); $collapsed = ""; if (!in_array(md5($node->get_content()), $this->session)) { $collapsed = "collapsed"; } $app = ''; if ($hr) { $app = html_writer::empty_tag('hr'); } $content = html_writer::tag('li', $app . $p . $content, array('class' => "type_system depth_2 contains_branch {$collapsed}")); } return $content; }