table widths

This commit is contained in:
jpt 2025-05-04 18:58:14 -05:00
parent 98be0fcb2c
commit d24160cfa9

View File

@ -144,7 +144,7 @@ class TableEditor(App):
try:
val = getattr(item, col.field)
except AttributeError:
val = item.data[col.field]
val = item.data.get(col.field, "~???~")
display_val = col.format_for_display(val)
row.append(display_val)
@ -170,8 +170,10 @@ class TableEditor(App):
yield self.right_status
def on_mount(self):
column_names = [c.display_name for c in self.table_config]
self.table.add_columns(*column_names)
for c in self.table_config:
self.table.add_column(
c.display_name, width=self.view.get("widths", {}).get(c.field, None)
)
self.refresh_data(restore_cursor=False)
def action_cursor_left(self):
@ -245,7 +247,9 @@ class TableEditor(App):
for fc in self.table_config:
if fc.read_only:
continue
val = self.defaults.get(fc.field, fc.default)
# when adding, prefer this order
# filter value -> view default -> field config default
val = self.filters.get(fc.field, self.defaults.get(fc.field, fc.default))
if val is not None:
if "," in val:
val = val.split(",")[0] # TODO: fix hack for enums