forked from Checkmk/checkmk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathheader.py
47 lines (39 loc) · 1.5 KB
/
header.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python3
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
from collections.abc import Sequence
from cmk.gui.breadcrumb import Breadcrumb
from cmk.gui.htmllib.html import HTMLGenerator
from cmk.gui.htmllib.top_heading import top_heading
from cmk.gui.page_menu import PageMenu
from cmk.gui.page_state import PageState
def make_header(
writer: HTMLGenerator,
title: str,
breadcrumb: Breadcrumb,
page_menu: PageMenu | None = None,
page_state: PageState | None = None,
javascripts: Sequence[str] | None = None,
force: bool = False,
show_body_start: bool = True,
show_top_heading: bool = True,
) -> None:
if writer.output_format != "html":
return
if not writer._header_sent:
if show_body_start:
writer.body_start(title, javascripts=javascripts, force=force)
writer._header_sent = True
breadcrumb = breadcrumb or Breadcrumb()
if writer.render_headfoot and show_top_heading:
top_heading(
writer,
writer.request,
title,
breadcrumb=breadcrumb,
page_menu=page_menu or PageMenu(breadcrumb=breadcrumb),
page_state=page_state,
browser_reload=writer.browser_reload,
)
writer.begin_page_content()