def _show_popup(self, entry: PageMenuEntry) -> None: assert isinstance(entry.item, PageMenuPopup) if entry.name is None: raise ValueError("Missing \"name\" attribute on entry \"%s\"" % entry.title) classes = ["page_menu_popup"] + html.normalize_css_spec(entry.item.css_classes) if isinstance(entry.item, PageMenuSidePopup): classes.append("side_popup") popup_id = "popup_%s" % entry.name html.open_div(id_=popup_id, class_=classes) html.open_div(class_="head") html.h3(entry.title) html.a(html.render_icon("close"), class_="close_popup", href="javascript:void(0)", onclick="cmk.page_menu.close_popup(this)") html.close_div() if (isinstance(entry.item, PageMenuSidePopup) and entry.item.content and "side_popup_content" not in entry.item.content): raise RuntimeError( "Add a div container with the class \"side_popup_content\" to the popup content") html.open_div(class_="content") html.write(HTML(entry.item.content)) html.close_div() html.close_div() if isinstance(entry.item, PageMenuSidePopup): html.final_javascript("cmk.page_menu.side_popup_add_simplebar_scrollbar(%s);" % json.dumps(popup_id))
def _show_popup(self, entry: PageMenuEntry) -> None: assert isinstance(entry.item, PageMenuPopup) if entry.name is None: raise ValueError("Missing \"name\" attribute on entry \"%s\"" % entry.title) html.open_div(id_="popup_%s" % entry.name, class_=["page_menu_popup"] + html.normalize_css_spec(entry.item.css_classes)) html.open_div(class_="head") html.h3(entry.title) html.a(html.render_icon("close"), class_="close_popup", href="javascript:void(0)", onclick="cmk.page_menu.close_popup(this)") html.close_div() html.open_div(class_="content") html.write(HTML(entry.item.content)) html.close_div() html.close_div()
def _get_entry_css_classes(self, entry: PageMenuEntry) -> List[str]: return [ ("enabled" if entry.is_enabled else "disabled"), ("advanced" if entry.is_advanced else "basic"), ] + html.normalize_css_spec(entry.css_classes)