X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fdash%2Fapp%2Fpal%2Fstats%2Flayout.py;h=2e74fb8b3c298cba76b98ebe6138d9f7545af43d;hp=2f43308f7b9c206c23147aa4d905d66698906629;hb=a89ee06047c891d3c43d2c4cdd67177fce740e5e;hpb=88853d7d4e4461198213b9db021fe4e4985c9533 diff --git a/resources/tools/dash/app/pal/stats/layout.py b/resources/tools/dash/app/pal/stats/layout.py index 2f43308f7b..2e74fb8b3c 100644 --- a/resources/tools/dash/app/pal/stats/layout.py +++ b/resources/tools/dash/app/pal/stats/layout.py @@ -28,8 +28,10 @@ from yaml import load, FullLoader, YAMLError from datetime import datetime, timedelta from copy import deepcopy +from ..utils.constants import Constants as C +from ..utils.utils import show_tooltip, gen_new_url +from ..utils.url_processing import url_decode from ..data.data import Data -from ..data.url_processing import url_decode, url_encode from .graphs import graph_statistics, select_data @@ -37,15 +39,7 @@ class Layout: """ """ - DEFAULT_JOB = "csit-vpp-perf-mrr-daily-master-2n-icx" - - URL_STYLE = { - "background-color": "#d2ebf5", - "border-color": "#bce1f1", - "color": "#135d7c" - } - - def __init__(self, app: Flask, html_layout_file: str, spec_file: str, + def __init__(self, app: Flask, html_layout_file: str, graph_layout_file: str, data_spec_file: str, tooltip_file: str, time_period: int=None) -> None: """ @@ -54,7 +48,6 @@ class Layout: # Inputs self._app = app self._html_layout_file = html_layout_file - self._spec_file = spec_file self._graph_layout_file = graph_layout_file self._data_spec_file = data_spec_file self._tooltip_file = tooltip_file @@ -96,7 +89,7 @@ class Layout: job_info["tbed"].append("-".join(lst_job[-2:])) self.df_job_info = pd.DataFrame.from_dict(job_info) - self._default = self._set_job_params(self.DEFAULT_JOB) + self._default = self._set_job_params(C.STATS_DEFAULT_JOB) tst_info = { "job": list(), @@ -269,29 +262,6 @@ class Layout: lst_job[1], lst_job[3], lst_job[4])) } - def _show_tooltip(self, id: str, title: str, - clipboard_id: str=None) -> list: - """ - """ - return [ - dcc.Clipboard(target_id=clipboard_id, title="Copy URL") \ - if clipboard_id else str(), - f"{title} ", - dbc.Badge( - id=id, - children="?", - pill=True, - color="white", - text_color="info", - class_name="border ms-1", - ), - dbc.Tooltip( - children=self._tooltips.get(id, str()), - target=id, - placement="auto" - ) - ] - def add_content(self): """ """ @@ -416,7 +386,7 @@ class Layout: dcc.Loading(children=[ dbc.Button( id="btn-download-data", - children=self._show_tooltip( + children=show_tooltip(self._tooltips, "help-download", "Download Data"), class_name="me-1", color="info" @@ -432,15 +402,18 @@ class Layout: class_name="me-1", children=[ dbc.InputGroupText( - style=self.URL_STYLE, - children=self._show_tooltip( - "help-url", "URL", "input-url") + style=C.URL_STYLE, + children=show_tooltip( + self._tooltips, + "help-url", "URL", + "input-url" + ) ), dbc.Input( id="input-url", readonly=True, type="url", - style=self.URL_STYLE, + style=C.URL_STYLE, value="" ) ] @@ -468,7 +441,7 @@ class Layout: children=[ dbc.Label( class_name="p-0", - children=self._show_tooltip( + children=show_tooltip(self._tooltips, "help-dut", "Device under Test") ), dbc.Row( @@ -486,7 +459,7 @@ class Layout: children=[ dbc.Label( class_name="p-0", - children=self._show_tooltip( + children=show_tooltip(self._tooltips, "help-ttype", "Test Type"), ), dbc.RadioItems( @@ -502,7 +475,7 @@ class Layout: children=[ dbc.Label( class_name="p-0", - children=self._show_tooltip( + children=show_tooltip(self._tooltips, "help-cadence", "Cadence"), ), dbc.RadioItems( @@ -518,7 +491,7 @@ class Layout: children=[ dbc.Label( class_name="p-0", - children=self._show_tooltip( + children=show_tooltip(self._tooltips, "help-tbed", "Test Bed"), ), dbc.Select( @@ -544,7 +517,7 @@ class Layout: children=[ dbc.Label( class_name="gy-1", - children=self._show_tooltip( + children=show_tooltip(self._tooltips, "help-time-period", "Time Period"), ), dcc.DatePickerRange( @@ -637,7 +610,6 @@ class Layout: Input("dpr-period", "start_date"), Input("dpr-period", "end_date"), Input("url", "href") - # prevent_initial_call=True ) def _update_ctrl_panel(cp_data: dict, dut:str, ttype: str, cadence:str, tbed: str, start: str, end: str, href: str) -> tuple: @@ -737,25 +709,18 @@ class Layout: fig_passed, fig_duration = graph_statistics(self.data, job, self.layout, start, end) - if parsed_url: - new_url = url_encode({ - "scheme": parsed_url["scheme"], - "netloc": parsed_url["netloc"], - "path": parsed_url["path"], - "params": { - "job": job, - "start": start, - "end": end - } - }) - else: - new_url = str() - ret_val = [ ctrl_panel.panel, fig_passed, fig_duration, - new_url + gen_new_url( + parsed_url, + { + "job": job, + "start": start, + "end": end + } + ) ] ret_val.extend(ctrl_panel.values()) return ret_val