diff --git a/src/wireviz/wv_bom.py b/src/wireviz/wv_bom.py index 2e5cbb2..6e48b1a 100644 --- a/src/wireviz/wv_bom.py +++ b/src/wireviz/wv_bom.py @@ -20,6 +20,7 @@ def get_additional_component_table(harness: "Harness", component: Union[Connecto """Return a list of diagram node table row strings with additional components.""" rows = [] if component.additional_components: + parts = [] for part in component.additional_components: # if True: # id = get_bom_index(harness.bom(), part) @@ -38,11 +39,18 @@ def get_additional_component_table(harness: "Harness", component: Union[Connecto columns.append(f'{manufacturer_str}' if manufacturer_str else '') columns.append(f'{part.note}' if part.note else '') - # TODO: Remove empty columns + parts.append(columns) + # remove unused columns + transp = list(map(list, zip(*parts))) # transpose list + transp = [item for item in transp if any(item)] # remove empty rows (easier) + parts = list(map(list, zip(*transp))) # transpose back + + # generate HTML output + for part in parts: rowstr = '\n