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