def show(self): group_type = self._group_type_ident() html.open_ul() for name, alias in sites.all_groups(group_type.replace("group", "")): url = "view.py?view_name=%s&%s=%s" % (group_type, group_type, html.urlencode(name)) bulletlink(alias or name, url) html.close_ul()
def _render_tree(self, tree): for group, attrs in tree.items(): fetch_url = makeuri_contextless( request, [ ("view_name", "aggr_all"), ("aggr_group_tree", "/".join(attrs["__path__"])), ], filename="view.py", ) if attrs.get('__children__'): html.begin_foldable_container( "bi_aggregation_group_trees", group, False, HTML(html.render_a( group, href=fetch_url, target="main", )), icon="foldable_sidebar", ) self._render_tree(attrs['__children__']) html.end_foldable_container() else: html.open_ul() bulletlink(group, fetch_url) html.close_ul()
def show(self) -> None: html.open_ul() for group in bi.get_aggregation_group_trees(): bulletlink( group, "view.py?view_name=aggr_group&aggr_group=%s" % html.urlencode(group)) html.close_ul()
def _render_topic(self, topic, entries): # type: (str, List[ViewMenuItem]) -> None container_id = ensure_str(re.sub('[^a-zA-Z]', '', topic)) html.begin_foldable_container(treename="views", id_=container_id, isopen=False, title=topic, indent=True) for item in entries: if item.is_view: bulletlink( item.title, item.url, onclick="return cmk.sidebar.wato_views_clicked(this)") elif "?name=" in item.name: bulletlink(item.title, item.url) else: bulletlink( item.title, item.url, onclick="return cmk.sidebar.wato_views_clicked(this)") # TODO: One day pagestypes should handle the complete snapin. # for page_type in pagetypes.all_page_types().values(): # if issubclass(page_type, pagetypes.PageRenderer): # for t, title, url in page_type.sidebar_links(): # if t == topic: # bulletlink(title, url) html.end_foldable_container()
def render_topic(topic, entries): first = True for t, title, name, is_view in entries: if is_view and config.visible_views and name not in config.visible_views: continue if is_view and config.hidden_views and name in config.hidden_views: continue if t == topic: if first: html.begin_foldable_container("views", topic, False, topic, indent=True) first = False if is_view: bulletlink(title, "view.py?view_name=%s" % name, onclick="return cmk.sidebar.wato_views_clicked(this)") elif "?name=" in name: bulletlink(title, name) else: bulletlink(title, 'dashboard.py?name=%s' % name, onclick="return cmk.sidebar.wato_views_clicked(this)") # TODO: One day pagestypes should handle the complete snapin. # for page_type in pagetypes.all_page_types().values(): # if issubclass(page_type, pagetypes.PageRenderer): # for t, title, url in page_type.sidebar_links(): # if t == topic: # bulletlink(title, url) if not first: # at least one item rendered html.end_foldable_container()
def render_topic(topic, s, foldable=True): first = True for t, title, name, _is_view in s: if t == topic: if first: if foldable: html.begin_foldable_container("dashboards", topic, False, topic, indent=True) else: html.open_ul() first = False bulletlink(title, 'dashboard.py?name=%s' % name, onclick="return cmk.sidebar.wato_views_clicked(this)") if not first: # at least one item rendered if foldable: html.end_foldable_container() else: html.open_ul()
def show(self): html.open_ul() bulletlink(_("Homepage"), "https://checkmk.com", target="_blank") bulletlink(_("Documentation"), "https://docs.checkmk.com/master", target="_blank") bulletlink(_("Download"), "https://checkmk.com/download", target="_blank") html.close_ul()
def show(self): html.open_ul() bulletlink(_("Homepage"), "https://checkmk.com/check_mk.html", target="_blank") bulletlink(_("Documentation"), "https://checkmk.com/cms.html", target="_blank") bulletlink(_("Download"), "https://checkmk.com/download.php", target="_blank") html.close_ul()
def show(self): # type: () -> None filename = Path(cmk.utils.paths.omd_root).joinpath( 'var/dokuwiki/data/pages/sidebar.txt') html.open_form(id_="wiki_search", onsubmit="cmk.sidebar.wiki_search('%s');" % config.omd_site()) html.input(id_="wiki_search_field", type_="text", name="wikisearch") html.icon_button("#", _("Search"), "wikisearch", onclick="cmk.sidebar.wiki_search('%s');" % config.omd_site()) html.close_form() html.div('', id_="wiki_side_clear") start_ul = True ul_started = False try: title = None for line in filename.open(encoding="utf-8").readlines(): line = line.strip() if line == "": if ul_started: html.end_foldable_container() start_ul = True ul_started = False elif line.endswith(":"): title = line[:-1] elif line == "----": pass # html.br() elif line.startswith("*"): if start_ul: if title: html.begin_foldable_container("wikisnapin", title, True, title, indent=True) else: html.open_ul() start_ul = False ul_started = True erg = re.findall(r'\[\[(.*)\]\]', line) if len(erg) == 0: continue erg = erg[0].split('|') if len(erg) > 1: link = erg[0] name = erg[1] else: link = erg[0] name = erg[0] if link.startswith("http://") or link.startswith( "https://"): simplelink(name, link, "_blank") else: erg = name.split(':') if len(erg) > 0: name = erg[-1] else: name = erg[0] bulletlink( name, "/%s/wiki/doku.php?id=%s" % (config.omd_site(), link)) else: html.write_text(line) if ul_started: html.close_ul() except IOError: html.write_html( html.render_p( html.render_text( "To get a navigation menu, you have to create a ") + html.render_a("sidebar", href="/%s/wiki/doku.php?id=%s" % (config.omd_site(), _("sidebar")), target="main") + # html.render_text(" in your wiki first.")))
def show(self): filename = cmk.utils.paths.omd_root + '/var/dokuwiki/data/pages/sidebar.txt' html.javascript(""" function wiki_search() { var oInput = document.getElementById('wiki_search_field'); top.frames["main"].location.href = "/%s/wiki/doku.php?do=search&id=" + escape(oInput.value); } """ % config.omd_site()) html.open_form(id_="wiki_search", onsubmit="wiki_search();") html.input(id_="wiki_search_field", type_="text", name="wikisearch") html.icon_button("#", _("Search"), "wikisearch", onclick="wiki_search();") html.close_form() html.div('', id_="wiki_side_clear") start_ul = True ul_started = False try: title = None for line in file(filename).readlines(): line = line.strip() if line == "": if ul_started: html.end_foldable_container() start_ul = True ul_started = False elif line.endswith(":"): title = line[:-1] elif line == "----": pass # html.br() elif line.startswith("*"): if start_ul: if title: html.begin_foldable_container("wikisnapin", title, True, title, indent=True) else: html.open_ul() start_ul = False ul_started = True erg = re.findall(r'\[\[(.*)\]\]', line) if len(erg) == 0: continue erg = erg[0].split('|') if len(erg) > 1: link = erg[0] name = erg[1] else: link = erg[0] name = erg[0] if link.startswith("http://") or link.startswith( "https://"): simplelink(name, link, "_blank") else: erg = name.split(':') if len(erg) > 0: name = erg[-1] else: name = erg[0] bulletlink( name, "/%s/wiki/doku.php?id=%s" % (config.omd_site(), link)) else: html.write_text(line) if ul_started: html.close_ul() except IOError: sidebar = html.render_a("sidebar", href="/%s/wiki/doku.php?id=%s" % (config.omd_site(), _("sidebar")), target="main") html.write_html("<p>To get a navigation menu, you have to create a %s in your wiki first.</p>"\ % sidebar)