]
),
delay_show=C.SPINNER_DELAY
+ ),
+ dbc.Offcanvas(
+ class_name="w-75",
+ id="offcanvas-documentation",
+ title="Documentation",
+ placement="end",
+ is_open=False,
+ children=html.Iframe(
+ src=C.URL_DOC_REL_NOTES,
+ width="100%",
+ height="100%"
+ )
)
]
)
return dbc.NavbarSimple(
id="navbarsimple-main",
children=[
- dbc.NavItem(
- dbc.NavLink(
- C.REPORT_TITLE,
- disabled=True,
- external_link=True,
- href="#"
- )
- )
+ dbc.NavItem(dbc.NavLink(
+ C.REPORT_TITLE,
+ active=True,
+ external_link=True,
+ href="/report"
+ )),
+ dbc.NavItem(dbc.NavLink(
+ "Comparisons",
+ external_link=True,
+ href="/comparisons"
+ )),
+ dbc.NavItem(dbc.NavLink(
+ "Coverage Data",
+ external_link=True,
+ href="/coverage"
+ )),
+ dbc.NavItem(dbc.NavLink(
+ "Documentation",
+ id="btn-documentation",
+ ))
],
brand=C.BRAND,
brand_href="/",
try:
store_sel = literal_eval(url_params["store_sel"][0])
normalize = literal_eval(url_params["norm"][0])
- except (KeyError, IndexError):
+ except (KeyError, IndexError, AttributeError):
pass
if store_sel:
row_card_sel_tests = C.STYLE_ENABLED
if len(graph_data) == 1:
hdrh_data = graph_data[0].get("customdata", None)
if hdrh_data:
+ name = hdrh_data.pop("name")
graph = [dbc.Card(
class_name="gy-2 p-0",
children=[
- dbc.CardHeader(hdrh_data.pop("name")),
- dbc.CardBody(children=[
- dcc.Graph(
- id="hdrh-latency-graph",
- figure=graph_hdrh_latency(
- hdrh_data, self._graph_layout
- )
+ dbc.CardHeader(html.A(
+ name,
+ href=f"{C.URL_JENKINS}{name}",
+ target="_blank"
+ )),
+ dbc.CardBody(dcc.Graph(
+ id="hdrh-latency-graph",
+ figure=graph_hdrh_latency(
+ hdrh_data, self._graph_layout
)
- ])
+ ))
])
]
else:
raise PreventUpdate
+ list_group_items = list()
+ for k, v in _process_stats(graph_data, trigger.idx):
+ list_group_items.append(dbc.ListGroupItem([dbc.Badge(k), v]))
+ if trigger.idx == "tput" and len(list_group_items) == 1:
+ job = graph_data[0].get("customdata", "")
+ list_group_items.append(dbc.ListGroupItem([
+ dbc.Badge("csit-ref"),
+ html.A(job, href=f"{C.URL_JENKINS}{job}", target="_blank")
+ ]))
metadata = [
dbc.Card(
class_name="gy-2 p-0",
title
]),
dbc.CardBody(
+ dbc.ListGroup(list_group_items, flush=True),
id="tput-lat-metadata",
- class_name="p-0",
- children=[dbc.ListGroup(
- [
- dbc.ListGroupItem([dbc.Badge(k), v])
- for k, v in _process_stats(
- graph_data, trigger.idx)
- ],
- flush=True)
- ]
+ class_name="p-0"
)
]
)
]
return metadata, graph, True
+
+ @app.callback(
+ Output("offcanvas-documentation", "is_open"),
+ Input("btn-documentation", "n_clicks"),
+ State("offcanvas-documentation", "is_open")
+ )
+ def toggle_offcanvas_documentation(n_clicks, is_open):
+ if n_clicks:
+ return not is_open
+ return is_open