diff options
Diffstat (limited to 'csit.infra.dash/app/cdash/utils/utils.py')
-rw-r--r-- | csit.infra.dash/app/cdash/utils/utils.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/csit.infra.dash/app/cdash/utils/utils.py b/csit.infra.dash/app/cdash/utils/utils.py index 9e4eeeb892..461821d28b 100644 --- a/csit.infra.dash/app/cdash/utils/utils.py +++ b/csit.infra.dash/app/cdash/utils/utils.py @@ -303,7 +303,7 @@ def get_job(df: pd.DataFrame, dut, ttype, cadence, testbed): )]["job"].item() -def generate_options(opts: list) -> list: +def generate_options(opts: list, sort: bool=True) -> list: """Return list of options for radio items in control panel. The items in the list are dictionaries with keys "label" and "value". @@ -312,6 +312,8 @@ def generate_options(opts: list) -> list: :returns: List of options (dict). :rtype: list """ + if sort: + opts = sorted(opts) return [{"label": i, "value": i} for i in opts] @@ -342,3 +344,31 @@ def set_job_params(df: pd.DataFrame, job: str) -> dict: "tbeds": generate_options( get_test_beds(df, l_job[1], l_job[3], l_job[4])) } + + +def get_list_group_items(tests: list) -> list: + """Generate list of ListGroupItems with checkboxes with selected tests. + + :param tests: List of tests to be displayed in the ListGroup. + :type tests: list + :returns: List of ListGroupItems with checkboxes with selected tests. + :rtype: list + """ + return [ + dbc.ListGroupItem( + children=[ + dbc.Checkbox( + id={"type": "sel-cl", "index": i}, + label=l["id"], + value=False, + label_class_name="m-0 p-0", + label_style={ + "font-size": ".875em", + "color": get_color(i) + }, + input_class_name="border-danger bg-danger" + ) + ], + class_name="p-0" + ) for i, l in enumerate(tests) + ] |