X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fdash%2Fapp%2Fpal%2Freport%2Freport.py;h=e4565731ec08579004bc7823d370427fd91ee712;hb=refs%2Fchanges%2F62%2F36762%2F2;hp=769a6dd63e2d9e5ae4eb1e54b055fb271c8f8c43;hpb=646c242bfaea75db747df8c178c050499994c789;p=csit.git diff --git a/resources/tools/dash/app/pal/report/report.py b/resources/tools/dash/app/pal/report/report.py index 769a6dd63e..e4565731ec 100644 --- a/resources/tools/dash/app/pal/report/report.py +++ b/resources/tools/dash/app/pal/report/report.py @@ -13,19 +13,13 @@ """Instantiate the Report Dash application. """ - import dash -from dash import dcc -from dash import html -from dash import dash_table -from .data import read_stats -from .data import read_trending_mrr, read_trending_ndrpdr -from .data import read_iterative_mrr, read_iterative_ndrpdr -from .layout import html_layout +from ..utils.constants import Constants as C +from .layout import Layout -def init_report(server): +def init_report(server, releases): """Create a Plotly Dash dashboard. :param server: Flask server. @@ -36,73 +30,19 @@ def init_report(server): dash_app = dash.Dash( server=server, - routes_pathname_prefix=u"/report/", - external_stylesheets=[ - u"/static/dist/css/styles.css", - u"https://fonts.googleapis.com/css?family=Lato", - ], + routes_pathname_prefix=C.REPORT_ROUTES_PATHNAME_PREFIX, + external_stylesheets=C.EXTERNAL_STYLESHEETS ) - # Custom HTML layout - dash_app.index_string = html_layout - - # Create Layout - dash_app.layout = html.Div( - children=[ - html.Div( - children=create_data_table( - read_stats().dropna(), - u"database-table-stats" - ) - ), - html.Div( - children=create_data_table( - read_trending_mrr().dropna(), - u"database-table-mrr" - ) - ), - html.Div( - children=create_data_table( - read_trending_ndrpdr().dropna(), - u"database-table-ndrpdr" - ) - ), - html.Div( - children=create_data_table( - read_iterative_mrr().dropna(), - u"database-table-iterative-mrr" - ) - ), - html.Div( - children=create_data_table( - read_iterative_ndrpdr().dropna(), - u"database-table-iterative-ndrpdr" - ) - ) - ], - id=u"dash-container", + layout = Layout( + app=dash_app, + releases=releases, + html_layout_file=C.REPORT_HTML_LAYOUT_FILE, + graph_layout_file=C.REPORT_GRAPH_LAYOUT_FILE, + data_spec_file=C.DATA_SPEC_FILE, + tooltip_file=C.TOOLTIP_FILE, ) - return dash_app.server - - -def create_data_table(df, id): - """Create Dash datatable from Pandas DataFrame. + dash_app.index_string = layout.html_layout + dash_app.layout = layout.add_content() - DEMO - """ - - table = dash_table.DataTable( - id=id, - columns=[{u"name": i, u"id": i} for i in df.columns], - data=df.to_dict(u"records"), - fixed_rows={'headers': True}, - sort_action=u"native", - sort_mode=u"native", - page_size=5, - style_header={ - 'overflow': 'hidden', - 'textOverflow': 'ellipsis', - 'minWidth': 95, 'maxWidth': 95, 'width': 95, - } - ) - return table + return dash_app.server