Fix table column error (#4406)
This commit is contained in:
parent
29588fadee
commit
06488dfb9a
|
|
@ -1046,6 +1046,20 @@ class TableSelectionScreen(BaseScreen[ValueT]):
|
||||||
header = self.query_one('#header_text', Label)
|
header = self.query_one('#header_text', Label)
|
||||||
header.display = not is_loading
|
header.display = not is_loading
|
||||||
|
|
||||||
|
def _get_column_keys(self, items: list[MenuItem]) -> list[str]:
|
||||||
|
all_keys: list[str] = []
|
||||||
|
for item in items:
|
||||||
|
if item.value:
|
||||||
|
all_keys.extend(item.value.table_data().keys())
|
||||||
|
|
||||||
|
# Create unique list while preserving order
|
||||||
|
unique_keys: list[str] = list(dict.fromkeys(all_keys))
|
||||||
|
|
||||||
|
if self._multi:
|
||||||
|
unique_keys.insert(0, ' ')
|
||||||
|
|
||||||
|
return unique_keys
|
||||||
|
|
||||||
def _put_data_to_table(self, table: DataTable[ValueT], group: MenuItemGroup) -> None:
|
def _put_data_to_table(self, table: DataTable[ValueT], group: MenuItemGroup) -> None:
|
||||||
items = group.items
|
items = group.items
|
||||||
selected = group.selected_items
|
selected = group.selected_items
|
||||||
|
|
@ -1054,15 +1068,7 @@ class TableSelectionScreen(BaseScreen[ValueT]):
|
||||||
_ = self.dismiss(Result(ResultType.Selection))
|
_ = self.dismiss(Result(ResultType.Selection))
|
||||||
return
|
return
|
||||||
|
|
||||||
value = items[0].value
|
cols = self._get_column_keys(items)
|
||||||
if not value:
|
|
||||||
_ = self.dismiss(Result(ResultType.Selection))
|
|
||||||
return
|
|
||||||
|
|
||||||
cols = list(value.table_data().keys())
|
|
||||||
|
|
||||||
if self._multi:
|
|
||||||
cols.insert(0, ' ')
|
|
||||||
|
|
||||||
table.add_columns(*cols)
|
table.add_columns(*cols)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue