diff options
Diffstat (limited to 'csit.infra.dash/app/cdash/trending/layout.py')
-rw-r--r-- | csit.infra.dash/app/cdash/trending/layout.py | 200 |
1 files changed, 130 insertions, 70 deletions
diff --git a/csit.infra.dash/app/cdash/trending/layout.py b/csit.infra.dash/app/cdash/trending/layout.py index da90ae26f9..b4487cf127 100644 --- a/csit.infra.dash/app/cdash/trending/layout.py +++ b/csit.infra.dash/app/cdash/trending/layout.py @@ -65,7 +65,8 @@ CP_PARAMS = { "cl-tsttype-all-val": list(), "cl-tsttype-all-opt": C.CL_ALL_DISABLED, "btn-add-dis": True, - "cl-normalize-val": list() + "cl-normalize-val": list(), + "cl-show-trials": list() } @@ -303,7 +304,7 @@ class Layout: :returns: Control panel. :rtype: list """ - return [ + test_selection = [ dbc.Row( dbc.InputGroup( [ @@ -459,37 +460,43 @@ class Layout: class_name="g-0 p-1" ), dbc.Row( - dbc.InputGroup( - [ - dbc.InputGroupText(show_tooltip( - self._tooltips, - "help-normalize", - "Normalization" - )), - dbc.Col(dbc.Checklist( - id="normalize", - options=[{ - "value": "normalize", - "label": "Normalize to CPU frequency 2GHz" - }], - value=[], - inline=True, - class_name="ms-2" - )) - ], - style={"align-items": "center"}, - size="sm" - ), - class_name="g-0 p-1" - ), - dbc.Row( dbc.Button( id={"type": "ctrl-btn", "index": "add-test"}, children="Add Selected", - color="info" + color="info", + class_name="p-1" ), class_name="g-0 p-1" - ), + ) + ] + processing = [ + dbc.Row( + class_name="g-0 p-1", + children=[ + dbc.Checklist( + id="normalize", + options=[{ + "value": "normalize", + "label": "Normalize to 2GHz CPU frequency" + }], + value=[], + inline=True, + class_name="ms-2" + ), + dbc.Checklist( + id="show-trials", + options=[{ + "value": "trials", + "label": "Show MRR Trials" + }], + value=[], + inline=True, + class_name="ms-2" + ) + ] + ) + ] + test_list = [ dbc.Row( dbc.ListGroup( class_name="overflow-auto p-0", @@ -498,39 +505,43 @@ class Layout: style={"max-height": "20em"}, flush=True ), - id="row-card-sel-tests", - class_name="g-0 p-1", - style=C.STYLE_DISABLED, + class_name="g-0 p-1" ), dbc.Row( - dbc.ButtonGroup([ - dbc.Button( - "Remove Selected", - id={"type": "ctrl-btn", "index": "rm-test"}, - class_name="w-100", - color="info", - disabled=False - ), - dbc.Button( - "Remove All", - id={"type": "ctrl-btn", "index": "rm-test-all"}, - class_name="w-100", - color="info", - disabled=False - ) - ]), - id="row-btns-sel-tests", - class_name="g-0 p-1", - style=C.STYLE_DISABLED, + dbc.ButtonGroup( + children=[ + dbc.Button( + "Remove Selected", + id={"type": "ctrl-btn", "index": "rm-test"}, + class_name="w-100 p-1", + color="info", + disabled=False + ), + dbc.Button( + "Remove All", + id={"type": "ctrl-btn", "index": "rm-test-all"}, + class_name="w-100 p-1", + color="info", + disabled=False + ) + ] + ), + class_name="g-0 p-1" ), dbc.Stack( [ dbc.Button( "Add Telemetry Panel", id={"type": "telemetry-btn", "index": "open"}, - color="info" + color="info", + class_name="p-1" + ), + dbc.Button( + "Show URL", + id="plot-btn-url", + color="info", + class_name="p-1" ), - dbc.Button("Show URL", id="plot-btn-url", color="info"), dbc.Modal( [ dbc.ModalHeader(dbc.ModalTitle("URL")), @@ -542,13 +553,65 @@ class Layout: scrollable=True ) ], - id="row-btns-add-tm", class_name="g-0 p-1", - style=C.STYLE_DISABLED, gap=2 ) ] + return [ + dbc.Row( + dbc.Card( + [ + dbc.CardHeader( + html.H5("Test Selection") + ), + dbc.CardBody( + children=test_selection, + class_name="g-0 p-0" + ) + ], + color="secondary", + outline=True + ), + class_name="g-0 p-1" + ), + dbc.Row( + dbc.Card( + [ + dbc.CardHeader( + html.H5("Data Manipulations") + ), + dbc.CardBody( + children=processing, + class_name="g-0 p-0" + ) + ], + color="secondary", + outline=True + ), + class_name="g-0 p-1" + ), + dbc.Row( + dbc.Card( + [ + dbc.CardHeader( + html.H5("Selected Tests") + ), + dbc.CardBody( + children=test_list, + class_name="g-0 p-0" + ) + ], + color="secondary", + outline=True + ), + id = "row-selected-tests", + class_name="g-0 p-1", + style=C.STYLE_DISABLED, + ) + ] + + def _add_plotting_col(self) -> dbc.Col: """Add column with plots. It is placed on the right side. @@ -919,9 +982,7 @@ class Layout: Output("plotting-area-trending", "children"), Output("plotting-area-telemetry", "children"), Output("col-plotting-area", "style"), - Output("row-card-sel-tests", "style"), - Output("row-btns-sel-tests", "style"), - Output("row-btns-add-tm", "style"), + Output("row-selected-tests", "style"), Output("lg-selected", "children"), Output({"type": "telemetry-search-out", "index": ALL}, "children"), Output({"type": "plot-mod-telemetry", "index": ALL}, "is_open"), @@ -952,6 +1013,7 @@ class Layout: Output({"type": "ctrl-cl", "index": "tsttype-all"}, "options"), Output({"type": "ctrl-btn", "index": "add-test"}, "disabled"), Output("normalize", "value"), + Output("show-trials", "value"), State("store", "data"), State({"type": "sel-cl", "index": ALL}, "value"), @@ -968,6 +1030,7 @@ class Layout: Input({"type": "tm-dd", "index": ALL}, "value"), Input("normalize", "value"), + Input("show-trials", "value"), Input({"type": "telemetry-search-in", "index": ALL}, "value"), Input({"type": "telemetry-btn", "index": ALL}, "n_clicks"), Input({"type": "tm-btn-remove", "index": ALL}, "n_clicks"), @@ -1119,6 +1182,10 @@ class Layout: ctrl_panel.set({"cl-normalize-val": trigger.value}) store["trending-graphs"] = None on_draw[0] = True + elif trigger.type == "show-trials": + ctrl_panel.set({"cl-show-trials": trigger.value}) + store["trending-graphs"] = None + on_draw[0] = True elif trigger.type == "ctrl-dd": if trigger.idx == "dut": try: @@ -1431,7 +1498,8 @@ class Layout: self._data, store_sel, self._graph_layout, - bool(ctrl_panel.get("cl-normalize-val")) + bool(ctrl_panel.get("cl-normalize-val")), + bool(ctrl_panel.get("cl-show-trials")) ) if graphs and graphs[0]: store["trending-graphs"] = graphs @@ -1462,16 +1530,12 @@ class Layout: store["telemetry-graphs"] ) col_plotting_area = C.STYLE_ENABLED - row_card_sel_tests = C.STYLE_ENABLED - row_btns_sel_tests = C.STYLE_ENABLED - row_btns_add_tm = C.STYLE_ENABLED + row_selected_tests = C.STYLE_ENABLED else: plotting_area_trending = no_update plotting_area_telemetry = C.PLACEHOLDER col_plotting_area = C.STYLE_DISABLED - row_card_sel_tests = C.STYLE_DISABLED - row_btns_sel_tests = C.STYLE_DISABLED - row_btns_add_tm = C.STYLE_DISABLED + row_selected_tests = C.STYLE_DISABLED lg_selected = no_update store_sel = list() tm_panels = list() @@ -1481,9 +1545,7 @@ class Layout: else: plotting_area_trending = no_update col_plotting_area = no_update - row_card_sel_tests = no_update - row_btns_sel_tests = no_update - row_btns_add_tm = no_update + row_selected_tests = no_update lg_selected = no_update store["url"] = gen_new_url(parsed_url, new_url_params) @@ -1499,9 +1561,7 @@ class Layout: plotting_area_trending, plotting_area_telemetry, col_plotting_area, - row_card_sel_tests, - row_btns_sel_tests, - row_btns_add_tm, + row_selected_tests, lg_selected, search_out, is_open, |