]
),
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_TRENDING,
+ width="100%",
+ height="100%"
+ )
)
]
)
:rtype: dbc.NavbarSimple
"""
return dbc.NavbarSimple(
- dbc.NavItem(
- dbc.NavLink(
+ children=[
+ dbc.NavItem(dbc.NavLink(
C.TREND_TITLE,
- disabled=True,
+ active=True,
external_link=True,
- href="#"
- )
- ),
+ href="/trending"
+ )),
+ dbc.NavItem(dbc.NavLink(
+ C.NEWS_TITLE,
+ external_link=True,
+ href="/news"
+ )),
+ dbc.NavItem(dbc.NavLink(
+ C.STATS_TITLE,
+ external_link=True,
+ href="/stats"
+ )),
+ dbc.NavItem(dbc.NavLink(
+ "Documentation",
+ id="btn-documentation",
+ ))
+ ],
id="navbarsimple-main",
brand=C.BRAND,
brand_href="/",
return dbc.Col(
id="col-plotting-area",
children=[
- dbc.Spinner(
- dbc.Row(
- id="plotting-area-trending",
- class_name="g-0 p-0",
- children=C.PLACEHOLDER
- ),
- delay_show=C.SPINNER_DELAY
+ dbc.Row(
+ id="plotting-area-trending",
+ class_name="g-0 p-0",
+ children=C.PLACEHOLDER
),
dbc.Row(
id="plotting-area-telemetry",
if not end_idx:
plotting_area_telemetry = C.PLACEHOLDER
elif on_draw[1] and (end_idx >= start_idx):
+ if len(tm_all_in_one) != end_idx:
+ tm_all_in_one = [[None], ] * end_idx
+ if len(tm_ignore_host) != end_idx:
+ tm_ignore_host = [[None], ] * end_idx
for idx in range(start_idx, end_idx):
store["telemetry-graphs"].append(graph_tm_trending(
tm.select_tm_trending_data(
raise PreventUpdate
return dcc.send_data_frame(df.to_csv, file_name)
+
+ @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